Salinan kode adalah sebagai berikut:
paket org.load.u;
impor java.io.file;
impor java.util.linkedhashmap;
impor java.util.map;
// Deteksi drive USB
kelas publik checku {
// status disk penyimpanan
peta statis pribadi <string, boolean> peta = LinkedHashMap baru <string, boolean> ();
// Tentukan disk
Private Static Final String [] arr = new string [] {"c", "d", "e", "f", "g", "h", "i", "j"};
public static void main (string [] args) {
init ();
memeriksa();
System.out.println ("Disk terdeteksi");
System.out.println (peta);
}
// Loop mematikan untuk mendeteksi status setiap disk
public static void check () {
File file;
untuk(;;) {
untuk (string str: arr) {
file = file baru (str + ": //");
// Jika disk ada sekarang dan tidak ada sebelumnya
// itu berarti bahwa drive USB baru saja dicolokkan dan kembali
if (file.exists () &&! Map.get (str)) {
kembali;
}
// Setiap kali keadaan berubah, keadaan yang disimpan perlu diperbarui
// Jika status yang baru saja terdeteksi berbeda dari keadaan asli, maka status diperbarui
// Anda harus meletakkan pernyataan di atas jika di bawah ini
if (file.exists ()! = map.get (str)) {
peta.put (str, file.exists ());
}
}
mencoba {
Thread.sleep (5 * 1000);
} catch (InterruptedException e) {
e.printstacktrace ();
}
}
}
// inisialisasi status disk, benar ada, jika tidak salah
public static void init () {
File file;
untuk (string str: arr) {
file = file baru (str + ": //");
peta.put (str, file.exists ());
}
}
}