java每隔
发布时间: 2023-03-15 17:24:58
如果JDK是java7,那么可以使用WatchService,这个提供了非常底层的实现。
如果非要自己实现一个.建议使用java.util.Timer 类或者线程,定时执行文件检查任务
下面比较啰嗦和简陋的实现了需求,简单的测试了,但不保证没有bug,仅作参考
importjava.io.File;
importjava.io.IOException;
importjava.util.ArrayList;
publicclassFindNewFile{
publicstaticvoidmain(String[]args){
while(true){
Stringpath="c:\";//路径
Filefile=newFile(path);
File[]files=file.listFiles();
ArrayList<File>list=newArrayList<File>();//文件对象存到list里
for(inti=0;i<files.length;i++){
list.add(files[i]);
}
try{
Thread.sleep(5000);//暂停5000毫秒
}catch(InterruptedExceptione){
e.printStackTrace();
}
Filefile2=newFile(path);
File[]files2=file2.listFiles();
ArrayList<File>list2=newArrayList<File>();
for(inti=0;i<files2.length;i++){
list2.add(files2[i]);
}
if(list2.size()>list.size()){
list2.removeAll(list);//用后来的文件夹对象减去之前的对象,
for(inti=0;i<list2.size();i++){
try{
System.out.println(list2.get(i).getCanonicalPath());
}catch(IOExceptione){
e.printStackTrace();
}
}
}else{
continue;
}
}
}
}
输出
C:新建公文包
C:新建MicrosoftPublisher文档.pub
基本实现了对新增文件的输出文件名
热点内容