每1秒钟一次,判断指定的某个目录下的某个文件是否被修改,如果被修改, 就在Console上打印出“File changed…”
这题调用了File类的lastModified()方法获得文件最后一次修改的时间;
Thread的sleep(1000)方法让该线程睡1秒。
- importjava.io.File;
- importjava.util.Date;
- /**
- *@author$KangMiao$
- *1.每1秒钟一次,判断指定的某个文件是否被修改,如果被修改,
- *就在Console上打印出“Filechanged…”和最后修改时间
- */
- publicclassJudgeChanged{
- privateStringinfile;
- booleanflag=true;
- publicJudgeChanged(Stringinfile){
- super();
- this.infile=infile;
- }
- publicvoidrun(){
- Filefile=newFile(infile);
- while(flag){//一直监视
- try{
- longs1=file.lastModified();
- Thread.sleep(1000);
- longs2=file.lastModified();
- Datedate2=newDate(s2);
- if(s1!=s2){//判断一秒钟前后的最后修改时间是否相等
- System.out.println("Filechanged-------");
- System.out.println("修改时间为:"+date2);
- }
- }catch(InterruptedExceptione){
- e.printStackTrace();
- }
- }
- }
- publicstaticvoidmain(String[]args){
- JudgeChangedjc=newJudgeChanged("E:/peixun/Tet.txt");
- System.out.println("监听文件是否被修改·······");
- jc.run();
- }
- }
转自:http://miaoge.iteye.com/blog/774233