我是nio类的新手,移动文件夹到新创建的文件夹时遇到了麻烦。首先我使用以下代码创建了两个目录:
我接着尝试将现有的文件复制到新目录中,使用以下命令:
这会抛出以下错误:
我知道
File sourceDir = new File(sourceDirStr); //this directory already exists
File destDir = new File(destDirectoryStr); //this is a new directory
我接着尝试将现有的文件复制到新目录中,使用以下命令:
Path destPath = destDir.toPath();
for (int i = 0; i < sourceSize; i++) {
Path sourcePath = sourceDir.listFiles()[i].toPath();
Files.copy(sourcePath, destPath.resolve(sourcePath.getFileName()));
}
这会抛出以下错误:
Exception in thread "main" java.nio.file.FileSystemException: destDir/Experiment.log: Not a directory
我知道
destDir/Experiment.log
不是一个现有的目录,它应该是Files.copy
操作的结果产生的新文件。有人能指出我的操作出了什么问题吗?谢谢!
destDir
在磁盘上存在吗?如果不存在,您可能需要先使用File#mkdirs()
创建它。 - millimoosedestDir.exists()
,它返回了True
。这似乎几乎认为destDir/Experiment.log
应该是一个目录。不过,这不是这种情况吗? - Adam_G