我想从我的磁盘列出文件到BlockingQueue
和线程将处理它们。在中途,如果磁盘上的文件被更新,则队列也将刷新。有什么办法可以找到文件是否正在被线程处理,并且不需要再次在队列中添加?如何检测文件是否在java中进行处理?
0
A
回答
0
如果你想idnetify其中有一个文件打开过程中,你可以使用
- 的Linux - 定影http://linux.die.net/man/1/fuser
- 窗口 - 列出文件在本地打开http://www.techsupportalert.com/content/how-find-out-which-windows-process-using-file.htm远程http://technet.microsoft.com/en-us/sysinternals/bb897552
刚刚发现现在使用谷歌。
你可以做
Set<File> queued = ...
Queue<File> toProcess =
// add to the queue if its a new entry.
if(queued.add(file))
toProcess.add(file);
+0
执行此代码“..如果磁盘上的文件得到更新..”检查? –
+0
您需要在Java 7中使用WatchService来完成此操作,或者通过重复导航目录来查找差异。 –
+0
WatchService会告诉你更改的来源是否是RamIndani的线程? –
相关问题
- 1. 检测控件是否被处理
- 2. 如何检测是否从ZIP存档运行Windows批处理文件
- 3. 如何检测文件夹是否为空(Windows批处理文件)?
- 4. 如何检查批处理是否成功执行了进程
- 5. 检测是否正在处理进程内存?
- 6. 如何检查文件/目录是否在批处理脚本
- 7. 检查文件是否存在并在PowerShell中运行批处理文件?
- 8. 文本处理 - 检测您是否在Java中的HTML标记内
- 9. 如何从批处理文件中检查文件是否存在
- 10. 如何检测项目文件夹中是否存在文件?
- 11. 如何检测是否在首选项中进行了更改?
- 12. 如何检测dompdf是否正在处理本地脚本
- 13. 如何在批处理文件中检测多个监视器
- 14. Windows批处理文件 - 检查JAVA_HOME是否包含java 7
- 15. 如何编辑此批处理文件以检查exe是否正在运行
- 16. 如何检测mySQL中的表格行是否有文件?
- 17. 如何检测Java是通过REGEDIT.exe从批处理文件安装的?
- 18. 如何在Spark中使用java平行处理每行文件?
- 19. 如何检查一个php文件是否被模糊处理?
- 20. 如何在处理输入文件时处理前进(处理2行)
- 21. 如何从命令行检测我是否处于PowerShell中?
- 22. 如何通过批处理脚本检查进程是否正在运行
- 23. 如何判断是否正在进行骡流消息处理
- 24. 如何将java文件作为资源在ant build.xml中进行处理
- 25. Java如何在单独的进程树中执行批处理文件
- 26. 如何检查批处理文件中是否存在Windows服务
- 27. 如何检查ping是否在批处理文件中作出响应
- 28. 检测文件是否是Java 8中的符号链接
- 29. 批处理文件: - 检测Windows版本和运行exe文件
- 30. 如何检测未在Java中由ProcessBuilder执行的文件?
我使用Windows。 – RamIndani
我无法理解你的问题。我认为你需要把它分解成至少四个句子。 – pzulw
“..如果磁盘上的文件得到更新..” - 所以你想知道如果文件是外部更新,而不是你的线程? –