نسخة الكود كما يلي:
حزمة org.load.u ؛
استيراد java.io.file ؛
استيراد java.util.linkedhashmap ؛
استيراد java.util.map ؛
// اكتشاف محرك USB
الفئة العامة checku {
// حالة قرص التخزين
خريطة ثابتة خاصة <string ، boolean> map = new LinkedHashMap <string ، boolean> () ؛
// تحديد القرص
السلسلة النهائية الثابتة الخاصة [] arr = new string [] {"C" ، "D" ، "E" ، "F" ، "G" ، "H" ، "I" ، "J"} ؛
الفراغ الثابت العام الرئيسي (سلسلة [] args) {
init () ؛
يفحص()؛
System.out.println ("U Disk المكتشف") ؛
System.out.println (MAP) ؛
}
// حلقة مميتة للكشف عن حالة كل قرص
فحص الفراغ الثابت العام () {
ملف الملف ؛
ل(؛؛) {
لـ (String Str: ARR) {
ملف = ملف جديد (str + ": //") ؛
// إذا كان القرص موجودًا الآن ولم يكن موجودًا من قبل
// هذا يعني أن محرك أقراص USB قد تم توصيله وإرجاعه للتو
if (file.exists () &&! map.get (str)) {
يعود؛
}
// في كل مرة تتغير فيها الدولة ، يجب تحديث الحالة المحفوظة
// إذا كانت الحالة التي تم اكتشافها تختلف عن الحالة الأصلية ، فسيتم تحديث الحالة
// يجب أن تضع ما سبق إذا كان البيان أدناه
if (file.exists ()! = map.get (str)) {
map.put (str ، file.exists ()) ؛
}
}
يحاول {
thread.sleep (5 * 1000) ؛
} catch (InterruptedException e) {
E.PrintStackTrace () ؛
}
}
}
// تهيئة حالة القرص ، موجود صحيح ، خلاف ذلك خطأ
الفراغ الثابت العام init () {
ملف الملف ؛
لـ (String Str: ARR) {
ملف = ملف جديد (str + ": //") ؛
map.put (str ، file.exists ()) ؛
}
}
}