我想從我的磁盤列出文件到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. 如何檢查批處理文件是否在Windows上運行?
- 3. 檢測控件是否被處理
- 4. 如何檢測是否從ZIP存檔運行Windows批處理文件
- 5. 如何檢測文件夾是否爲空(Windows批處理文件)?
- 6. 如何檢查批處理是否成功執行了進程
- 7. 檢測是否正在處理進程內存?
- 8. 如何檢查文件/目錄是否在批處理腳本
- 9. 檢查文件是否存在並在PowerShell中運行批處理文件?
- 10. 文本處理 - 檢測您是否在Java中的HTML標記內
- 11. 如何從批處理文件中檢查文件是否存在
- 12. 如何檢查批處理文件中是否存在某個文件?
- 13. 如何檢測項目文件夾中是否存在文件?
- 14. 如何檢測是否在首選項中進行了更改?
- 15. 檢查是否有其他批處理文件仍在運行
- 16. 批處理文件檢測特定選項卡是否打開?
- 17. 如何檢測dompdf是否正在處理本地腳本
- 18. 如何在VB6中檢測事件處理程序是否已分配?
- 19. 如何在批處理文件中檢測多個監視器
- 20. 如何檢查gridview editvalue是否通過事件處理進行了更改
- 21. Windows批處理文件 - 檢查JAVA_HOME是否包含java 7
- 22. 如何檢測mySQL中的表格行是否有文件?
- 23. 批處理文件如何檢測給定項目是否具有EJB3接口?
- 24. 如何檢測Java是通過REGEDIT.exe從批處理文件安裝的?
- 25. 如何從進程中檢測StandardInput(在批處理腳本中)
- 26. 如何檢查文件複製是否正在進行?
- 27. 如何在java文件中運行批處理命令而不需要真正進入批處理文件?
- 28. 如何在Spark中使用java平行處理每行文件?
- 29. 如何檢查一個php文件是否被模糊處理?
- 30. Java檢查進程是否正在運行,如果沒有運行文件?
我使用Windows。 – RamIndani
我無法理解你的問題。我認爲你需要把它分解成至少四個句子。 – pzulw
「..如果磁盤上的文件得到更新..」 - 所以你想知道如果文件是外部更新,而不是你的線程? –