我有一個java線程A連續輪詢文件夾RESULTFOLDER並檢查是否存在一些新文件。
現在這些文件被其他機器上運行的其他程序發佈到RESULTFOLDER.Now發佈的文件都是xml文件(只有xml).so在任何時候,RESULTFOLDER都只能保存xml文件。
現在我的線程A連續輪詢RESULTFOLDER並一次解析xml文件,然後刪除它。
現在有時會發生什麼情況是,如果線程A在其他程序發佈文件A時嘗試讀取並解析文件A。在這種情況下,我在解析file.Saying文件的成熟結束時出現異常。
我該如何解決問題?解析xml文件時,當另一個線程正在解析它時,其他線程正在創建該文件時提前結束文件異常
我認爲的一種方法是檢查文件創建的日期時間,並確保該文件至少需要1分鐘左右。但我不認爲java提供了這樣的API。如何解決這個問題?
不錯的總結。當然,我最喜歡你的答案2。重命名遠程複製的文件時遇到問題,所以我更喜歡使用控制文件方式。 –