在Windows上配置JNotify

时间:2011-02-21 19:32:18

标签: java directory

我正在使用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)
        {
        }



    }
}

1 个答案:

答案 0 :(得分:1)

您的程序需要在while (true) {};子句之后输入catch循环或其他循环,不允许应用程序终止。