开发者

Java detect changes in filesystem

I have a folder in which continuously new files are being dumped.In Java,what is the best way to detect changes in file-system (ie. a specified folder in which the files are being dumped) an开发者_如何转开发d add the newly arrived files to a queue data structure so that i can sequentially process each incoming file.

I'm aware of listFiles() function in the File class but using this I can only get files that are available at an instant of time. Of course I can continuously poll the folder and get the list of files in it using a thread.But is this the best way or is there a better way to accomplish this.


Continuously polling is the way to do it in Java as of now - though don't poll too often, it can be quite a heavy operation if the directory contains lots of entries.

JDK 7 will have a specific API for doing just this java.nio.file.WatchFile


There is unfortunately no standard way to do this until JDK7 comes out. But there are some libraries available on the internet which use the native functions of different operating systems to do this.

The libraries which I have looked at are jPoller and jNotify But in the end I ended simply polling the directory which was interesting for me when I had to do that.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜