我正在尝试使用Path和Files在Java 7中将多个文件复制到输出目录。但是以下代码无法正常工作:
Files.copy(Paths.get("/my/file.txt"), Paths.get("/my/output/directory/");
它会产生一个“目录非空”错误。
是的,我可以编写代码来直接命名输出文件,或使用Guava,但我正在尝试使用新的Java 7 nio类以最简单的方式完成它。
最简单的方法:
Path file = /* path to source file */
Path to = /* path to destination directory */
Files.copy(file, to.resolve(file.getFileName()));
Files.copy(Paths.get("/my/file.txt"), Paths.get("/my/output/directory/file.txt"));
来自Java 7文档:
copy(Path source, Path target, CopyOption... options)
将文件复制到目标文件。
因此,您必须指定目标文件。
我有大量的文件
您可以通过拆分源路径并将其附加到目标文件夹来获取文件名。
Files.copy(Paths.get("/my/file.txt"), Paths.get("/my/output/directory/file.txt");
呢?这是正确的做法。 - Dawood ibn Kareem