由于Jnotify手表无法移动文件

时间:2012-02-02 09:04:51

标签: java file-io filesystemwatcher jnotify

我正在使用JNotify来查看文件夹,一旦新文件进入文件夹,我需要解析该文件并将文件移动到其他文件夹中,当它执行文件移动代码时“它说的是它被其他一些过程使用“。

由于此文件已被JNotify监视,因此我无法移动它。

请帮我一些想法。

2 个答案:

答案 0 :(得分:1)

从Java 7开始,您可以使用WatchService跟踪文件系统中的更改。

如果在你的情况下使用Java 7是一个选项 - 我肯定会选择它。

tutorial非常有用并且不言自明。

答案 1 :(得分:1)

您的Java代码必须具有打开的文件句柄。确保关闭所有读取器或其他File对象并进行垃圾回收。我有同样的问题,在分析代码后,我发现当发现异常时InputStreamReader没有被关闭。我使用finally{}try catch块添加了reader.close()块,问题解决了。