Java简单U盘检测程序,思想是用File类比较操作系统中的盘符变化,并在新增盘符中搜索文件:

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);

}

}

}

编译运行结果:

插入U盘测试:搜索后缀名为.java的文件

拔出U盘时:

java 检测u盘_Java简单U盘检测程序相关推荐

  1. java 解析xls 文件_java简单解析xls文件的方法示例【读取和写入】

    本文实例讲述了java简单解析xls文件的方法.分享给大家供大家参考,具体如下: 读取: import java.io.*; import jxl.*; import jxl.write.*; imp ...

  2. java 实现ps功能_java 简单图片,可以实现ps的几个小滤镜

    java 简单图片,可以实现ps的几个小滤镜 以下教你实现图片马赛克,黑白画,珠纹化,油画效果等处理技术原理及实现.看完自己也可以简单的玩一玩. 1. 需要用到的包 java.awt // 用于创建用 ...

  3. java 统计汉字个数_Java简单统计字符串中汉字,英文字母及数字数量的方法

    本文实例讲述了java简单统计字符串中汉字,英文字母及数字数量的方法.分享给大家供大家参考,具体如下: package org.zhy.demo.algorithm; /** * 有一个字符串,其中包 ...

  4. java飞鸽传书_java简单版飞鸽传书

    [实例简介] 使用java实现的简单版飞鸽传书,可以单聊.群聊.发送文件,使用UPD获取在线用户及聊天,使用TCP发送文件.代码比较简洁,界面工整,学习使用. [实例截图] [核心代码] simple ...

  5. java 字符串 数字个数_Java简单统计字符串中汉字,英文字母及数字数量的方法...

    本文实例讲述了Java简单统计字符串中汉字,英文字母及数字数量的方法.分享给大家供大家参考,具体如下: package org.zhy.demo.algorithm; /** * 有一个字符串,其中包 ...

  6. java判断浏览器杂项_java简单代码判断浏览器代码

    java简单代码判断浏览器代码 import java.util.regex.Matcher; import java.util.regex.Pattern; public class BrowseT ...

  7. java 单例模式双重检索_Java单例模式的双重检测

    1. 一般的单例模式如下: class Singleton{ private static Singleton singleton; private Singleton(){} public stat ...

  8. java占位符打印_java简单日志打印规范小记

    个人认为,如果公司一些基础类库不做约束,很可能"埋坑",形成技术债务,最终为此付出代价.本文讲解一个最基本的日志打印规范. 1. 日志打印组件 日志组件有很多,日志门面的选择有:S ...

  9. java随机加法题_Java简单随机加法算式

    package Example; /* 随机产生10以内的两个整数number1和number2,显示算式, 例如"What is 7 plus 9 ?",输入答案后,提示答案是否 ...

  10. java判断敏感词_Java实现敏感词检测的代码详解

    [Java]代码 import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.ut ...

最新文章

  1. 在iOS中使用tableView
  2. 《零基础》MySQL GROUP BY 语句(十九)
  3. Oracle宣布在云上正式上线 自治事务处理数据库
  4. Android 系统(81)---Android permission 动态申请、授权
  5. Jmeter系列之Fiddler导出Jmeter脚本
  6. PAT刷题笔记-PAT乙1018-锤子剪刀布
  7. mtk android 编译环境,MTK android 快速编译方法.docx
  8. [2019杭电多校第三场][hdu6609]Find the answer(线段树)
  9. 陈晨-证券交易系统架构设计_挑战与实施经验分享
  10. 2021年高处安装、维护、拆除考试及高处安装、维护、拆除考试题
  11. python第一次考试_python 全栈开发,Day16(函数第一次考试)
  12. DDIM原理及代码(Denoising diffusion implicit models)
  13. 图像识别VPU——易用的嵌入式AI支持深度学习平台介绍
  14. 输入一个字符串,判断其是否为回文串。
  15. oracle监控pga,监控PGA最大空间、分配
  16. 北京量子院量子科学论坛:文凯博士介绍相干量子计算
  17. 网站SEO优化核心5要素
  18. vb中msgbox函数用法
  19. 搭建大型网站使用的技术架构
  20. 深圳网络信息安全员(NSACE初级)认证招生简章

热门文章

  1. GIS正日益融入IT主流 成IT业重要部分
  2. 建筑企业并购:人才整合策略
  3. 2001-2019年中国境内企业并购数据
  4. 大鱼吃小鱼java源代码_大鱼吃小鱼Java课程设计
  5. 锋利的jQuery读书笔记-第7章 jQuery插件的使用和写法
  6. js中使用jQuery读/写cookie的值
  7. 华为交换机调试软件_无忌之谈华为005丨 “华为系”黄埔军校诞生记
  8. bzoj4987 Tree 分类讨论+树形背包
  9. 战略、战术(和 OKR)
  10. 数据库防火墙:数据库防火墙的阻断方式