簡體   English   中英

Linux + Java + Windows:檢查文件是否完全復制

[英]Linux + Java + Windows : Check if file copied completely

我有一個Java應用程序,它監視目錄中的新文件並處理它在目錄中看到的任何新文件。 應用程序需要在linux和windows環境下運行。 問題出在Linux上,當用戶手動復制目錄中的文件時, 應用程序會在文件完全復制到目錄之前選擇該文件 試圖使用各種方法鎖定文件 ,但即使文件仍被Linux系統復制,應用程序也能獲取文件鎖定。 我還考慮使用lsof命令檢查文件,但它是特定於Linux的,所以我試圖避免這種情況。


有人可以建議一種方法來防止應用程序拾取不完整的文件嗎? 提前致謝。

也許解決方案是這篇文章的答案。 你可以嘗試使用jpoller

您可以在某個時間間隔內檢查文件大小,如2秒,如果不同,則復制文件,如果沒有,那么您可以去:)

一種可以實現此目的的方法是,當程序檢測到目錄中存在新文件時,它可以將該文件添加到列表中,並使用以下方法定期檢查列表中每個元素的文件大小:

文件#長度

如果在一段時間后文件大小沒有改變,那么理論上應該將文件完全復制並刷新到目錄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM