将文件移动到其他位置

时间:2016-01-07 13:52:55

标签: java exception copy move

我需要将文件移动到其他位置,以便给它命名。 我试图做的是:

?

我得到一个例外:

Files.move(oldName, newName, options);

java.nio.file.NoSuchFileException: /media/sf_VboxShared/Data/csv/res20150201/xx/part-r-00000-f8ed41a5-e0e1-4534-a1d9-e4d6082691db.gz.parquet -> /media/sf_VboxShared/Data/csv/res20150201/res/xx.parquet 文件存在。 oldName dosn存在。 (仅存在路径的newName部分)

2 个答案:

答案 0 :(得分:1)

您可以通过调用:

创建缺少的父目录
Files.createDirectories( Paths.get( <your file path> ).getParent() );

答案 1 :(得分:1)

您说/media/sf_VboxShared/Data/csv/res20150201,但您要将文件移动到/media/sf_VboxShared/Data/csv/res20150201/xx的目录的父目录不存在。

所以你必须在移动之前先创建它:

Path newName = ...;
Files.createDirectories(newName.getParent());