La copia del código es la siguiente:
paquete org.load.u;
import java.io.file;
import java.util.linkedhashmap;
import java.util.map;
// Detección de unidad USB
clase pública checku {
// Estado del disco de almacenamiento
mapa estático privado <string, boolean> map = new Linkedhashmap <String, boolean> ();
// Defina el disco
String final estática privada [] arr = new String [] {"C", "d", "e", "f", "g", "h", "i", "j"};
public static void main (string [] args) {
init ();
controlar();
System.out.println ("Detectado el disco U");
System.out.println (mapa);
}
// bucle mortal para detectar el estado de cada disco
cheque de vacío estático público () {
Archivo de archivo;
para(;;) {
for (string str: arr) {
archivo = nuevo archivo (str + ": //");
// Si el disco existe ahora y no existe antes
// Significa que la unidad USB acaba de conectarse y devuelve
if (file.exists () &&! map.get (str)) {
devolver;
}
// Cada vez que cambia el estado, el estado guardado debe actualizarse
// Si el estado recién detectado es diferente del estado original, entonces se actualiza el estado
// debe poner la declaración anterior si a continuación
if (file.exists ()! = map.get (str)) {
map.put (str, file.exists ());
}
}
intentar {
Thread.sleep (5 * 1000);
} capt (interruptedException e) {
E.PrintStackTrace ();
}
}
}
// Inicializar el estado del disco, verdadero existe, de lo contrario falso
public static void init () {
Archivo de archivo;
for (string str: arr) {
archivo = nuevo archivo (str + ": //");
map.put (str, file.exists ());
}
}
}