我正在使用Java JNotify来监听目录事件。
但是,每当我运行下面的程序时,程序立即终止,没有任何错误
相反,我认为程序应该等待事件
import net.contentobjects.jnotify.*;
public class ListenFile
{
public static void main(String [] args) throws JNotifyException
{
String path = "C:/Users/noor/Desktop/Files";
int mask = JNotify.FILE_CREATED |
JNotify.FILE_DELETED |
JNotify.FILE_MODIFIED|
JNotify.FILE_RENAMED;
boolean watchSubtree = true;
int watchID = JNotify.addWatch(path, mask, watchSubtree, new JNotifyListener(){
@Override
public void fileCreated(int arg0, String arg1, String arg2) {
System.out.println("1");
}
@Override
public void fileDeleted(int arg0, String arg1, String arg2) {
// TODO Auto-generated method stub
System.out.println("2");
}
@Override
public void fileModified(int arg0, String arg1, String arg2) {
// TODO Auto-generated method stub
System.out.println("3");
}
@Override
public void fileRenamed(int arg0, String arg1, String arg2,
String arg3) {
// TODO Auto-generated method stub
System.out.println("4");
}});
try
{
Thread.sleep(1000000);
}
catch (InterruptedException e1)
{
}
}
}
答案 0 :(得分:1)
您的程序需要在while (true) {};
子句之后输入catch
循环或其他循环,不允许应用程序终止。