之前在做某個業務中,寫了個文件傳輸的程式,程式邏輯很簡單:掃描某個目錄下的文件,對文件進行一些處理,然後把文件移動到另一個目錄。 此前在大多數運行環境里,該程式一直正常運行,直到最近在一個新環境下,出現問題:文件移動失敗。查詢日誌發現在調用file.renameTo方法返回false。我第一反應是查 ...
之前在做某個業務中,寫了個文件傳輸的程式,程式邏輯很簡單:掃描某個目錄下的文件,對文件進行一些處理,然後把文件移動到另一個目錄。
此前在大多數運行環境里,該程式一直正常運行,直到最近在一個新環境下,出現問題:文件移動失敗。查詢日誌發現在調用file.renameTo方法返回false。我第一反應是查詢目錄以及許可權是否正常;經確認,讀寫許可權全部正常。於是百度發現有說目錄所屬文件系統不一致可能會導致移動失敗,更換為commons-io包里提供的FileUtils.moveFile方法,確實解決問題了。另外使用java8里Files的move方法應該也是可行的。
參考鏈接:https://www.apispace.com/news/post/43334.html