การคัดลอกรหัสมีดังนี้:
แพ็คเกจ org.load.u;
นำเข้า Java.io.File;
นำเข้า java.util.linkedhashmap;
นำเข้า java.util.map;
// การตรวจจับไดรฟ์ USB
ตรวจสอบชั้นเรียนสาธารณะ {
// สถานะดิสก์จัดเก็บข้อมูล
แผนที่คงที่ส่วนตัว <สตริง, บูลีน> map = ใหม่ linkedHashMap <สตริง, บูลีน> ();
// กำหนดดิสก์
สตริงสุดท้ายคงที่ส่วนตัว [] arr = สตริงใหม่ [] {"C", "D", "E", "F", "G", "H", "I", "J"};
โมฆะคงที่สาธารณะหลัก (สตริง [] args) {
init ();
ตรวจสอบ();
System.out.println ("ตรวจพบดิสก์ U");
System.out.println (แผนที่);
-
// วนซ้ำอย่างรุนแรงเพื่อตรวจจับสถานะของดิสก์แต่ละตัว
การตรวจสอบโมฆะคงที่สาธารณะ () {
ไฟล์ไฟล์;
สำหรับ(;;) {
สำหรับ (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 ();
-
-
-
// เริ่มต้นสถานะดิสก์, จริงมีอยู่มิฉะนั้นเท็จ
โมฆะคงที่สาธารณะเริ่มต้น () {
ไฟล์ไฟล์;
สำหรับ (String str: arr) {
ไฟล์ = ไฟล์ใหม่ (str + ": //");
map.put (str, file.exists ());
-
-
-