如何将文件复制到Java 7中的目录

时间:2013-10-30 21:51:38

标签: java nio

我正在尝试使用Path和Files将许多文件复制到Java 7中的输出目录。这不起作用:

Files.copy(Paths.get("/my/file.txt"), Paths.get("/my/output/directory/");

它会生成“目录不为空”错误。

是的,我可以编写代码来直接命名输出文件,或者使用Guava,但我正在尝试使用新的Java 7 nio类以最简单的方式。

3 个答案:

答案 0 :(得分:7)

最简单的方法:

Path file = /* path to source file */
Path to = /* path to destination directory */
Files.copy(file, to.resolve(file.getFileName()));

答案 1 :(得分:5)

该命令似乎试图替换目录本身。尝试在目标目录中指定文件名

Files.copy(Paths.get("/my/file.txt"), Paths.get("/my/output/directory/file.txt"));

答案 2 :(得分:4)

来自文档Java 7

  

copy(路径源,路径目标,CopyOption ...选项)

     

将文件复制到目标文件

所以你必须指定目标文件。

  

我有大量文件

您可以通过拆分源路径并附加到目标文件夹来获取文件名。