2012-01-17 55 views
2

我有代碼重命名文件,然後立即嘗試打開它。重命名後打開文件間歇拋出FileNotFoundException

在Windows XP上,有時(但很少)會引發FileNotFoundException。

renameTo的返回值爲true。

這是一個已知的問題?在文件實際出現之前重命名成功後,文件系統中可能會出現延遲?

謝謝

+4

什麼是目標文件系統(FAT,NTFS,SMB/CIFS等)? – NPE 2012-01-17 19:51:35

+0

當您檢查目錄中的實際文件時,是否更改了名稱? – Alex 2012-01-17 20:07:51

+0

我不知道文件系統,因爲這是一個已安裝產品的客戶機,而我擁有的只是一個日誌文件。 – awinbra 2012-01-17 20:23:32

回答

0

我在Linux上有同樣的問題,在CIFS文件系統內移動文件。來自Google Guava庫的等效方法Files.move(java.io.File, java.io.File)似乎沒有這個問題。使Guava更好的是,如果renameTo()不返回true,它將顯式將文件從源文件複製到目標字節。當我開始寫這個答案時,我不知道番石榴首先委託給File.renameTo(),但仍然是:沒有Guava問題。

相關問題