我正在尝试使用 java 复制文件。我有一个需要复制的 File 对象的数组列表,但是当实际复制发生时,目标文件夹会变成一个文件,并且不会复制任何内容
System.out.println("Dest: " + destPath.toString());
ArrayList<File> fileList = listFiles(sourceDir);
for (File file : fileList) {
Path sourcePath = Paths.get(file.getPath());
System.out.print("\r\nSource: " + sourcePath.toString());
CopyOption[] options = new CopyOption[] {
StandardCopyOption.REPLACE_EXISTING,
StandardCopyOption.COPY_ATTRIBUTES
};
try {
Files.copy(sourcePath, destPath, options);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
打印的路径是: 目标:C:\Users\Ceri\Desktop\新文件夹 (2)
来源:C:\Users\Ceri\Desktop\New 文件夹\Blue Cave Floor.png 来源:C:\Users\Ceri\Desktop\New 文件夹\New Text Document.txt
基本上,当我正在尝试获取目录中所有已更改/新文件的列表 - 由文本字段指定 - 并将它们复制到另一个目录 - 再次由文本字段指定
listFiles 方法返回文件
最佳答案
如果您不想复制文件,则目标
路径需要描述文件。
只需将文件名添加到 destPath
即可。
Files.copy(sourcePath, destPath+"/"+file.getName(), options);
关于java - 复制文件 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46849061/