java 检测u盘_Java简单U盘检测程序
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盘检测程序相关推荐
- java 解析xls 文件_java简单解析xls文件的方法示例【读取和写入】
本文实例讲述了java简单解析xls文件的方法.分享给大家供大家参考,具体如下: 读取: import java.io.*; import jxl.*; import jxl.write.*; imp ...
- java 实现ps功能_java 简单图片,可以实现ps的几个小滤镜
java 简单图片,可以实现ps的几个小滤镜 以下教你实现图片马赛克,黑白画,珠纹化,油画效果等处理技术原理及实现.看完自己也可以简单的玩一玩. 1. 需要用到的包 java.awt // 用于创建用 ...
- java 统计汉字个数_Java简单统计字符串中汉字,英文字母及数字数量的方法
本文实例讲述了java简单统计字符串中汉字,英文字母及数字数量的方法.分享给大家供大家参考,具体如下: package org.zhy.demo.algorithm; /** * 有一个字符串,其中包 ...
- java飞鸽传书_java简单版飞鸽传书
[实例简介] 使用java实现的简单版飞鸽传书,可以单聊.群聊.发送文件,使用UPD获取在线用户及聊天,使用TCP发送文件.代码比较简洁,界面工整,学习使用. [实例截图] [核心代码] simple ...
- java 字符串 数字个数_Java简单统计字符串中汉字,英文字母及数字数量的方法...
本文实例讲述了Java简单统计字符串中汉字,英文字母及数字数量的方法.分享给大家供大家参考,具体如下: package org.zhy.demo.algorithm; /** * 有一个字符串,其中包 ...
- java判断浏览器杂项_java简单代码判断浏览器代码
java简单代码判断浏览器代码 import java.util.regex.Matcher; import java.util.regex.Pattern; public class BrowseT ...
- java 单例模式双重检索_Java单例模式的双重检测
1. 一般的单例模式如下: class Singleton{ private static Singleton singleton; private Singleton(){} public stat ...
- java占位符打印_java简单日志打印规范小记
个人认为,如果公司一些基础类库不做约束,很可能"埋坑",形成技术债务,最终为此付出代价.本文讲解一个最基本的日志打印规范. 1. 日志打印组件 日志组件有很多,日志门面的选择有:S ...
- java随机加法题_Java简单随机加法算式
package Example; /* 随机产生10以内的两个整数number1和number2,显示算式, 例如"What is 7 plus 9 ?",输入答案后,提示答案是否 ...
- java判断敏感词_Java实现敏感词检测的代码详解
[Java]代码 import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.ut ...
最新文章
- 在iOS中使用tableView
- 《零基础》MySQL GROUP BY 语句(十九)
- Oracle宣布在云上正式上线 自治事务处理数据库
- Android 系统(81)---Android permission 动态申请、授权
- Jmeter系列之Fiddler导出Jmeter脚本
- PAT刷题笔记-PAT乙1018-锤子剪刀布
- mtk android 编译环境,MTK android 快速编译方法.docx
- [2019杭电多校第三场][hdu6609]Find the answer(线段树)
- 陈晨-证券交易系统架构设计_挑战与实施经验分享
- 2021年高处安装、维护、拆除考试及高处安装、维护、拆除考试题
- python第一次考试_python 全栈开发,Day16(函数第一次考试)
- DDIM原理及代码(Denoising diffusion implicit models)
- 图像识别VPU——易用的嵌入式AI支持深度学习平台介绍
- 输入一个字符串,判断其是否为回文串。
- oracle监控pga,监控PGA最大空间、分配
- 北京量子院量子科学论坛:文凯博士介绍相干量子计算
- 网站SEO优化核心5要素
- vb中msgbox函数用法
- 搭建大型网站使用的技术架构
- 深圳网络信息安全员(NSACE初级)认证招生简章