La copie de code est la suivante:
package org.load.u;
Importer java.io.file;
import java.util.linkedhashmap;
importation java.util.map;
// Détection du lecteur USB
classe publique Checku {
// Statut de disque de stockage
Carte statique privée <chaîne, booléen> map = new LinkedHashmap <String, boolean> ();
// définir le disque
String final statique privé [] arr = new String [] {"c", "d", "e", "f", "g", "h", "i", "j"};
public static void main (String [] args) {
init ();
vérifier();
System.out.println ("U disque U détecté");
System.out.println (MAP);
}
// boucle mortelle pour détecter l'état de chaque disque
CHECK DE VOIDE STATIQUE PUBLIQUE () {
Fichier de fichier;
pour(;;) {
pour (String str: arr) {
file = nouveau fichier (str + ": //");
// Si le disque existe maintenant et n'existe pas avant
// Cela signifie que le lecteur USB vient d'être branché et revient
if (file.exists () &&! map.get (str)) {
retour;
}
// chaque fois que l'État change, l'état enregistré doit être mis à jour
// Si le statut qui vient d'être détecté est différent de l'état d'origine, alors le statut est mis à jour
// Vous devez mettre la déclaration ci-dessus ci-dessous
if (file.exists ()! = map.get (str)) {
map.put (str, file.exists ());
}
}
essayer {
Thread.Sleep (5 * 1000);
} catch (InterruptedException e) {
e.printStackTrace ();
}
}
}
// Initialiser le statut de disque, le vrai existe, sinon faux
public static void init () {
Fichier de fichier;
pour (String str: arr) {
file = nouveau fichier (str + ": //");
map.put (str, file.exists ());
}
}
}