那就用timer来监视吧 1ms扫描一次 如果文件得大小不同肯定能检测出来 若copy cut得时间小于1ms,就无能为力了 import java.io.*; import java.util.*; public class Reminder { Timer timer; String str; public Reminder() { timer = new Timer(); timer.schedule(new RemindTask(),0,1); } class RemindTask extends TimerTask { File a = new File("C:\\temp"); int j = 0; int i = a.list().length; public void run() { j=a.list().length; if (i != j) { try { str=Calendar.getInstance().getTime()+"Files have been changed"; i = j; System.out.println(str); } catch(Exception e){System.out.println("java Reminder err "+e );} } } } public static void main(String args[]) { System.out.println("File Detection Is Ready..."); new Reminder(); } }
,JDK专门提供了对监听模式的支持,就是Observer类,如果你使用的鼠标操作实现的,那么不好意思至少我不知道如何去做
{
public static void main(String[] args)
{
File a = new File("c:\\test");
int i = a.list().length;
int j = 0;
while(1==1)
{
j = a.list().length;
if (i != j)
{
System.out.println("File modified");
i = j;
}
}
}
}
================================
我没有在循环里面涉及产生对象的代码啊?
如果文件得大小不同肯定能检测出来
若copy cut得时间小于1ms,就无能为力了
import java.io.*;
import java.util.*;
public class Reminder {
Timer timer;
String str;
public Reminder() {
timer = new Timer();
timer.schedule(new RemindTask(),0,1);
}
class RemindTask extends TimerTask
{
File a = new File("C:\\temp");
int j = 0;
int i = a.list().length;
public void run()
{
j=a.list().length;
if (i != j)
{
try
{
str=Calendar.getInstance().getTime()+"Files have been changed";
i = j;
System.out.println(str); }
catch(Exception e){System.out.println("java Reminder err "+e );}
}
}
}
public static void main(String args[])
{
System.out.println("File Detection Is Ready...");
new Reminder();
}
}