线程定时检测一个指定的目录下是否有文件 问高手一个问题,一个守护线程定时检测一个指定的目录下是否有文件,如果检测到有文件了,另一个线程对文件进行读取复制到另一个地方,完成后删除源文件,这一不停的检测那个指定的目录里是否放了文件这个应该怎么写 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 或者开个线程run方法里加个while循环,循环里检测一次就sleep一段时间 使用 java.util.concurrent包提供的实现定时器。 import java.io.*;class Worker implements Runnable{ private String src; private String des; private int interval; Worker(String src,String des,int interval){ this.src=src; this.des=des; this.interval=interval; } public void run(){ while(true){ File file=new File(src); String[] subfile=file.list(); if(subfile==null || subfile.length==0){ System.out.println("没文件!"); }else{ System.out.println("有文件!"); //复制,然后删除 File desFile=new File(des); if(!desFile.exists())desFile.mkdirs(); for(int i=0;i<subfile.length;i++){ File d=new File(des,subfile[i]); if(d.exists())d.delete(); File f=new File(src+"/"+subfile[i]); f.renameTo(new File(des,subfile[i])); } } try{ Thread.sleep(interval); }catch(Exception e){ e.printStackTrace(); } } }}public class TimerTest{ public static void main(String rags[]){ String src="src";//被检测的目录 String des="des";//新存放的目录 int interval=5000;//时间间隔 Worker w = new Worker(src,des,interval); new Thread(w).start(); }} java日历简单问题 简单sql的问题 我需要帮助 关于方法能不能当类用 JAVA操作系统编程 急请教JDBC问题 jsp登陆验证 如何把字符串中重复的字符找出来?请教高人相助! 学 JAVA 要与 UNIX/Linux 结合起来学习吗? 关于Java Swing图形界面编程中消息处理的问题 回答过 Focus 问题的兄台,千万不要错过!!! 如何把rs,克隆一份放在ds中? 判断文本框为空后进行提示怎么做??
run方法里加个while循环,循环里检测一次就sleep一段时间
import java.io.*;
class Worker implements Runnable{
private String src;
private String des;
private int interval;
Worker(String src,String des,int interval){
this.src=src;
this.des=des;
this.interval=interval;
}
public void run(){
while(true){
File file=new File(src);
String[] subfile=file.list();
if(subfile==null || subfile.length==0){
System.out.println("没文件!");
}else{
System.out.println("有文件!");
//复制,然后删除
File desFile=new File(des);
if(!desFile.exists())desFile.mkdirs();
for(int i=0;i<subfile.length;i++){
File d=new File(des,subfile[i]);
if(d.exists())d.delete();
File f=new File(src+"/"+subfile[i]);
f.renameTo(new File(des,subfile[i]));
}
}
try{
Thread.sleep(interval);
}catch(Exception e){
e.printStackTrace();
}
}
}
}public class TimerTest{
public static void main(String rags[]){
String src="src";//被检测的目录
String des="des";//新存放的目录
int interval=5000;//时间间隔
Worker w = new Worker(src,des,interval);
new Thread(w).start();
}
}