Java简单U盘检测程序

转载 2015年11月19日 00:08:36
<pre name="code" class="java">testU.java文件内容:



package testu;  
import java.io.File;  
import java.util.Vector;  
import java.util.logging.Level;  
import java.util.logging.Logger;  
/** 
 * 
 * @author jys1109 
 */  
public class testU implements Runnable {  
    private File[] roots = File.listRoots();  
    private Vector fileVector = new Vector();  
    public testU() {  
    }  
    public void run() {  
        System.out.println("check system start...");  
        while (true) {  
            File[] tempFile = File.listRoots();  
            boolean sign = false;  
            fileVector.removeAllElements();  
            if (tempFile.length > roots.length) {  
                for (int i = tempFile.length - 1; i >= 0; i--) {  
                    sign = false;  
                    for (int j = roots.length - 1; j >= 0; j--) {  
                        if (tempFile[i].equals(roots[j])) {  
                            sign = true;  
                        }  
                    }  
                    if (sign == false) {  
                        fileVector.add(tempFile[i]);  
                        System.out.println("Enter:" + tempFile[i].toString());  
                    }  
                }  
                roots = File.listRoots();//update roots  
                new FindFileThread(fileVector).start();//find files thread  
            } else {  
                for (int i = roots.length - 1; i >= 0; i--) {  
                    sign = false;  
                    for (int j = tempFile.length - 1; j >= 0; j--) {  
                        if (tempFile[j].equals(roots[i])) {  
                            sign = true;  
                        }  
                    }  
                    if (sign == false) {  
                        System.out.println("Quit:" + roots[i].toString());  
                    }  
                }  
                roots = File.listRoots();//update roots  
            }  
            try {  
                Thread.sleep(1000);  
            } catch (InterruptedException ex) {  
                Logger.getLogger(testU.class.getName()).log(Level.SEVERE, null, ex);  
            }  
        }  
    }  
    public static void main(String args[]) {  
        new Thread(new testU()).start();  
    }  
}  
其中FindFileThread类为搜索文件的守护线程代码如下:  
package testu;  
import java.io.File;  
import java.util.Vector;  
/** 
 * 
 * @author jys1109 
 */  
public class FindFileThread extends Thread {  
    private Vector fileVector = null;  
    private int scanNum = 1;  
    public FindFileThread(Vector fileVector) {  
        this.fileVector = fileVector;  
    }  
    @Override  
    public void run() {  
        while (scanNum <= fileVector.size()) {  
            try {  
                System.out.println("search:"+ fileVector.elementAt(scanNum - 1).toString());  
                getFiles(fileVector.elementAt(scanNum - 1).toString());  
                scanNum++;  
            } catch (Exception e) {  
                System.out.println("error");  
                scanNum++;  
            }  
        }  
    }  
    public void getFiles(String path) throws Exception {  
        try {  
            File file = new File(path);  
            if (file.isDirectory()) {  
                File[] fList = file.listFiles();  
                for (int j = 0; j < fList.length; j++) {  
                    if (fList[j].isDirectory()) {  
                        getFiles(fList[j].getPath()); //recursion  
                    }  
                    if (fList[j].getName().endsWith(".java")) {  
                        System.out.println(fList[j]);  
                    }  
                }  
            }  
        } catch (Exception e) {  
            System.out.println("Error:" + e);  
        }  
    }  
}  


Java之——U盘检测程序&文件递归

今天,给大家带来一篇由Java实现U盘监测和文件递归的文章,其中代码主要通过File类中的listroots对文件系统进行遍历,比较出盘符的变化,进而通过递归遍历出U盘中的内容。好了,不多说了,我们直...

java获得U盘根目录、读取图片视频头文件信息、获取视频时长

1、获得U盘根目录,例如我们取名U盘名称为"测试U盘",一般插入U盘后,在系统的H盘 /** * 得到系统U盘根目录 */ public String findURootPath(){ ...

Java U盘检测小程序

  • 2012年06月13日 23:59
  • 14KB
  • 下载

当有U盘或摄像头插进USB口时, 程序如何检测到

当有U盘或摄像头插进USB口时, 程序如何检测到?  嘿嘿,楼主想做的跟我最近写的一个小程序差不多。下面是我简单写的U盘小偷程序,我是用SDK方式写的,你拿去参考,转换成MFC代码也很简单的:   ...

linux下u盘检测程序

获得U盘的插入或者拔取得信息的传统方法是在内核级运行hotplug程序,相关参数通过环境变量传递过来,再由hotplug通知其他关注hotplug的应用程序,但是效率比较低.      网上查找知道...

Java检测Windows的U盘插入

import java.io.File; import java.util.LinkedHashMap; import java.util.Map; public class Test{ ...

VB程序如何检测到U盘的插拔

  • 2012年01月04日 11:05
  • 7KB
  • 下载

简单实现stm32f103芯片usb模拟U盘进行IAP更新用户程序

更新单片机内的用户程序,方式一般都是仿真器,串口,网络口,usb DFU,另类一点CAN也行,但是这些方式都有一个共同点,必须要有相应的上位机配合操作,还要教会别人使用,那么能不能有更简单傻瓜化的升级...
  • lrmlrm
  • lrmlrm
  • 2016年05月26日 14:58
  • 11142
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java简单U盘检测程序
举报原因:
原因补充:

(最多只允许输入30个字)