9

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

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

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

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

4

3 回答 3

12

最简单的方法:

Path file = /* path to source file */
Path to = /* path to destination directory */
Files.copy(file, to.resolve(file.getFileName()));
于 2014-05-04T19:41:17.960 回答
6

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

Files.copy(Paths.get("/my/file.txt"), Paths.get("/my/output/directory/file.txt"));
于 2013-10-30T21:57:46.950 回答
4

来自文档Java 7

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

将文件复制到目标文件

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

我有大量文件

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

于 2013-10-30T21:55:24.287 回答