1

1 つのファイルを監視する単純なファイル モニターをセットアップしているので、そのファイルの内容が変更、追加、または削除されたときに通知を受け取ります。しかし、ファイルが削除されても、再度追加されても通知されません。ここに私のコードのスニペットがあります:

String properyPath = "/some/directory/somexml.xml";
FileSystemManager fsManager;
fsManager = VFS.getManager();
FileObject listendir = fsManager.resolveFile( propertyPath );
DefaultFileMonitor fm = new DefaultFileMonitor( this );
fm.setRecursive( true );
fm.addFile( listendir );
fm.start();

propertyPath ファイルが削除されると、fileDeleted 実装で通知されますが、ファイルを再作成しても fileAdded メソッドが呼び出されることはありません。これは正常ですか?もしそうなら、削除後に追加の通知を受け取るように設定するにはどうすればよいですか?

4

3 に答える 3

1

この問題の影響を受けているようです。チケットに記載されているように、ゼロ遅延を設定することができます:

fm.setDelay(0); 

または、パッチを適用した DefaultFileMonitor を試してください。ただし、あまりにも多くのファイルを同時に監視する場合、わずかな遅延がパフォーマンスに影響を与える可能性があります。

于 2013-11-18T20:43:56.467 に答える