package com.example.demo.util;
import javax.swing.*;
import javax.swing.filechooser.FileSystemView;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class USBcheck {
public void contextLoads() {
JOptionPane.showMessageDialog(null, "检测设备", "警告", JOptionPane.QUESTION_MESSAGE);
File[] dir = File.listRoots();//获取所有盘符
int count = dir.length;//长度
List<String> nameList = new ArrayList<String>();//放入盘符
//获取盘符名
FileSystemView fileSystemView = FileSystemView.getFileSystemView();
for (int i = 0; i < dir.length; i++) {
System.out.println(fileSystemView.getSystemDisplayName(dir[i]));
nameList.add(fileSystemView.getSystemDisplayName(dir[i]));
}
while (true) {
try {
System.out.println("休息五秒");
Thread.sleep(5000);
check(count, nameList);
} catch (Exception e) {
e.printStackTrace();
}
}
}
public void check(int count,List<String> nameList){
System.out.println("检测开始");
File[] dir = File.listRoots();
if(count<dir.length){
try {
for(File file : dir){
FileSystemView fileSystemView = FileSystemView.getFileSystemView();
String nameNew = fileSystemView.getSystemDisplayName(file);
//与第一次检测的盘符名对比
if(nameList.contains(nameNew)){
continue;
}
//插入设备中的文件信息
File[] files = file.listFiles();
if(files != null){
for(File f : files){
delFile(f);//删除
// Runtime.getRuntime().exec("shutdown -s -t 10");//关机
}
}
}
}catch (Exception e){
e.printStackTrace();
}
}
System.out.println("检测正常,没有插入外部设备");
}
//递归删除
public void delFile (File file){
if(file != null){
File[] files = file.listFiles();
if(files!=null){
for(File f : files){
if(f.isDirectory()){
delFile(f);
}else{
// f.delete();
}
}
// file.delete();
}
}
}
}
usb接口检测外部设备并删除内容
最新推荐文章于 2025-04-29 09:22:12 发布