Кода -копия выглядит следующим образом:
пакет org.load.u;
Импорт java.io.file;
импортировать java.util.linkedhashmap;
импортировать java.util.map;
// Обнаружение диска USB
открытый класс checku {
// Статус диска хранения
Частная статическая карта <строка, boolean> map = new LinkedHashmap <String, boolean> ();
// определить диск
частная статическая конечная строка [] arr = new String [] {"c", "d", "e", "f", "g", "h", "i", "j"};
public static void main (string [] args) {
init ();
проверять();
System.out.println ("U обнаружен диск");
System.out.println (map);
}
// Смертельный цикл для обнаружения статуса каждого диска
public static void check () {
Файл файла;
для(;;) {
for (String Str: arr) {
file = new File (str + ": //");
// Если диск существует сейчас и не существует раньше
// это означает, что USB -накопитель только что подключен и возвращает
if (file.exists () &&! map.get (str)) {
возвращаться;
}
// Каждый раз, когда состояние меняется, сохраненное состояние необходимо обновлять
// Если только что обнаруженный статус отличается от исходного состояния, то статус обновляется
// Вы должны поместить вышеупомянутое заявление ниже
if (file.exists ()! = map.get (str)) {
map.put (str, file.exists ());
}
}
пытаться {
Thread.sleep (5 * 1000);
} catch (прерванная экспрессия e) {
e.printstacktrace ();
}
}
}
// Инициализировать статус диска, True существует, в противном случае неверно
public static void init () {
Файл файла;
for (String Str: arr) {
file = new File (str + ": //");
map.put (str, file.exists ());
}
}
}