我正在尝试使用Java将文件夹/文件从一个位置复制到另一个位置。我是Java的初学者,我想要一个简洁的小库,我相信它叫做Apache FileUtils,它有一个FileUtils.CopyDirectory()方法,它应该将文件夹从一个目的地复制到另一个目的地。但是,对我来说,它只复制文件夹本身内部的内容。
else if (command.equals("COPY")){
System.out.println("Enter the path of the file/folder you wish to copy : ");
Scanner scannerPath = new Scanner(System.in);
path = scannerPath.nextLine();
File copiedFolder = new File(path);
System.out.println("Enter the path where you want to copy the file/folder: ");
String newpath = scannerPath.nextLine();
File copyFolder = new File(newpath);
if (copiedFolder.isDirectory() && copiedFolder.exists())
{
FileUtils.copyDirectory(copiedFolder, copyFolder);
System.out.println("Copy successful !");
}
else if (copiedFolder.isFile())
{
FileUtils.copyFile(copiedFolder, copyFolder);
System.out.println("Copy successful !");
}
else {
System.out.println("Copy failed. Check if the file/folder exists !");
}
它应该复制整个目录,但由于某种原因它对我不起作用。
答案 0 :(得分:0)
来自copyDirectory的文档:
目的地是目录的新位置和名称。
和
如果目标目录确实存在,则此方法合并 源与目的地,源优先。
基本上,目标目录将代表自己的源目录副本。
您可以考虑在路径中添加具有所需名称的子目录,例如:
File copyFolder = new File(newpath + File.separator + copiedFolder.getName());