【发布时间】:2012-10-22 13:27:34
【问题描述】:
我正在尝试使用 Java 7 和 WatchService 来监控何时将文件夹添加到文件夹(通过从不同位置复制),然后我想对新创建的文件夹中的文件进行操作。
在 OSX 上,它按我的预期工作,在复制文件夹及其内容之前,我不会收到新文件夹创建的通知。但是在 Windows 上,我在文件夹的内容被复制之前收到了关于文件夹创建的关键事件,所以当我尝试处理文件夹中的文件时,那里不存在,通常只有第一个文件存在。
我目前的解决方法是在收到文件夹通知后,我睡了 10 秒钟以等待其中的文件被复制,但这不是很令人满意,因为文件夹的大小可能会有很大差异,所以我睡的时间不够长或者大部分时间太长了。
为什么 OSX 和 Windows 之间存在差异,如何解决我在 Windows 上的问题?
【问题讨论】:
标签: java windows java-7 watchservice