Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在使用 JNotify 来监视一个文件夹,只要有一个新文件进入该文件夹,我就需要解析该文件并将该文件移动到其他文件夹中,当它执行文件移动代码时“它是说被其他进程使用”。
由于该文件已被 JNotify 观看,因此我无法移动它。
请帮我一些想法。
您的 Java 代码必须有一个打开的文件句柄。确保关闭所有读取器或其他 File 对象并收集垃圾。我遇到了同样的问题,在分析了代码后,我发现InputStreamReader当捕获到异常时并没有关闭。我用 a 在块中添加了一个块finally{},问题就解决了。 try catchreader.close()
InputStreamReader
finally{}
try catch
reader.close()
从 Java 7 开始,您可以使用WatchService跟踪文件系统中的更改。
如果在您的情况下可以选择使用 Java 7 - 我肯定会选择它。
该教程非常有用且不言自明。