今天在看开源中国社区看到了一个Windows下,利用Java来实现U盘插入的检测。作为有收藏癖好的我果断收藏并拿来分享了,指不定那天能用到。哈哈~

package com.baikeyang.utils;

import java.io.File;
import java.util.LinkedHashMap;
import java.util.Map;

// U盘检测
public class CheckU {
	// 存放磁盘状态
	private static Map<String, Boolean> map = new LinkedHashMap<String, Boolean>();
	// 定义磁盘
	private static final String[] arr = new String[] {"C", "D", "E", "F", "G", "H", "I", "J"};
	
	public static void main(String[] args){
		init();
		check();
		
		System.out.println("检测到U盘");
		System.out.println(map);
	}
	
	// 死循环检测每个磁盘状态
	public static void check() {
		File file ;
		for(;;) {
			for(String str : arr) {
				file = new File(str + ":\\");
				
				// 如果磁盘现在存在,并且以前不存在
				// 则表示刚插上U盘,返回
				if(file.exists() && !map.get(str)) {
					return;
				}
				
				// 需要每次状态改变时,更新保存的状态
				// 如果刚检测的状态和原来的状态不一样,则重新更新状态
				// 必须放上面的if语句下面
				if(file.exists() != map.get(str)) {
					map.put(str, file.exists());
				}
			}
			
			try {
				Thread.sleep(1 * 1000);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
	}
	
	// 初始化磁盘状态,存在true, 否则false
	public static void init() {
		File file ;
		for(String str : arr) {
			file = new File(str + ":\\");
			map.put(str, file.exists());
		}
	}
}

运行以上代码,插入U盘后检测后程序停止运行,运行结果如下图:

[caption id="" align="alignnone" width="730"]Java检测U盘插入 Java检测U盘插入[/caption]

说明:本代码来自于 开源中国社区,作者 亓斌 发布于 2014年03月12日

标签: java版的检测U盘插入, java检测U盘, Java在Windows系统下检测U盘插入代码, Windows系统下Java检测U盘插入

已有 2 条评论

  1. 站长源码网

    代码不错 很实用 希望可以回访一下

    1. baikeyang

      亲,已回访。但是为什么贵站打不开呢?

添加新评论