Java检测是否插入可移动磁盘,没找到直接实现方法,自己写了个,先记录下来
import java.io.File;
public class DiscsUsage implements Runnable {
File[] discs = File.listRoots();// 获取可用文件系统根
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("系统正在检测可移动磁盘...");
while (true) {
File[] discstem = File.listRoots();
boolean flag = false;
if (discstem.length > discs.length) {
for (int i = discstem.length - 1; i >= 0; i--) {
flag = false;
for (int j = discs.length - 1; j >= 0; j--) {
if (discs[j].equals(discstem[i])) {
flag = true;
}
}
if (!flag) {
System.out.println("插入可移动磁盘:" + discstem[i].toString());
System.out.println(new Disc(discstem[i])
.getDiscription());
}
}
discs = File.listRoots(); // 更新文件系统根
} else if (discstem.length < discs.length) {
for (int i = discs.length - 1; i >= 0; i--) {
flag = false;
for (int j = discstem.length - 1; j >= 0; j--) {
if (discs[i].equals(discstem[j])) {
flag = true;
}
}
if (!flag) {
System.out.println("退出可移动磁盘:" + discs[i].toString());
}
}
discs = File.listRoots();
}
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void main(String[] args) {
new Thread(new DiscsUsage()).start();
}
}