0

我正在使用 JNotify 来监视一个文件夹,只要有一个新文件进入该文件夹,我就需要解析该文件并将该文件移动到其他文件夹中,当它执行文件移动代码时“它是说被其他进程使用”。

由于该文件已被 JNotify 观看,因此我无法移动它。

请帮我一些想法。

4

2 回答 2

1

您的 Java 代码必须有一个打开的文件句柄。确保关闭所有读取器或其他 File 对象并收集垃圾。我遇到了同样的问题,在分析了代码后,我发现InputStreamReader当捕获到异常时并没有关闭。我用 a 在块中添加了一个块finally{},问题就解决了。 try catchreader.close()

于 2012-05-31T18:08:42.523 回答
1

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

如果在您的情况下可以选择使用 Java 7 - 我肯定会选择它。

教程非常有用且不言自明。

于 2012-02-02T09:13:31.997 回答