Java檢測Windows的U盤插入

nepe 9年前發布 | 1K 次閱讀 Java

 
package org.load.u;

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(5 * 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());
    }
}

} </pre>

 本文由用戶 nepe 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!