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
基本實現了對新增文件的輸出文件名
熱點內容