2011-06-23 15 views
3

File.renameToがNFSマウントで失敗するので、私はcommons.io FileUtilsクラスのmoveFileメソッドを使用しています。ファイルを移動するときにIOExceptionがスローされることがありますが、そのファイルはNFSマウントに正しく表示されることがあります。私は、FileUtilsがファイルが移動されたことを確認するときとNFSが有効なファイルであることを確認するときの間に競合状態が存在すると仮定しています。ファイルをローカルディレクトリからNFSディレクトリにコピーまたは移動するには、どのような方法が推奨されますか?

JavaでNFSマウントにスムーズにファイルを移動するには、どのような方法が最適ですか? UNIXで

File f = new File("test.log"); 
FileUtils.moveFile(f, new File(newDir, f.getName)); 
+0

可能なdupe http://stackoverflow.com/questions/300559/move-copy-file-operations-in-java –

答えて

1
import static java.nio.file.StandardCopyOption.*; 
import java.io.file.Files; 

Files.copy(source, target, REPLACE_EXISTING); 

名前変更やファイルシステム間を移動するので、最初のあなたはコピーする必要があり、それが移動/名前変更した場合、その後、あなたはソースを削除することはできませんでしょう。

File f = ...; 
f.delete(); 
関連する問題