将文件从本地复制或移动到NFS目录的推荐方法是什么?

时间:2011-06-23 18:02:49

标签: java

File.renameTo故障转移NFS挂载,所以我使用的是commons.io FileUtils类的moveFile方法。移动文件时偶尔会抛出IOException,但该文件会在NFS挂载中正确显示。我假设在FileUtils检查以确保文件被移动和NFS说这是一个有效文件之间存在竞争条件。

确保平滑文件移植到Java中的NFS挂载的最佳方法是什么?

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

1 个答案:

答案 0 :(得分:1)

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

Files.copy(source, target, REPLACE_EXISTING);

在Unix中,您无法重命名或在文件系统之间移动,因此首先您必须复制,然后如果它是移动/重命名,您将删除源。

File f = ...;  
f.delete();