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

ccl*_*eve 6 java nio

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

Files.copy(Paths.get("/my/file.txt"), Paths.get("/my/output/directory/");
Run Code Online (Sandbox Code Playgroud)

它会生成"目录不为空"错误.

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

W v*_*d L 8

最简单的方法:

Path file = /* path to source file */
Path to = /* path to destination directory */
Files.copy(file, to.resolve(file.getFileName()));
Run Code Online (Sandbox Code Playgroud)


Rei*_*eus 5

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

Files.copy(Paths.get("/my/file.txt"), Paths.get("/my/output/directory/file.txt"));
Run Code Online (Sandbox Code Playgroud)

  • 为什么更方便?无论如何,您都处于循环中。您真正需要添加多少代码来获取文件路径的“名称”部分,并将其添加到目录上? (2认同)

Max*_*tin 4

来自文档Java 7

复制(路径源、路径目标、CopyOption...选项)

将文件复制到目标文件

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

我有大量文件

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