我正在使用NIO库,但当我试图将文件从一个目录移动到另一个目录时,出现了奇怪的错误。
String yearNow = new SimpleDateFormat("yyyy").format(
Calendar.getInstance().getTime());
try {
DirectoryStream<Path> curYearStream =
Files.newDirectoryStream(sourceDir, "{" + yearNow + "*}");
//Glob for current year
Path newDir = Paths.get(sourceDir + "//" + yearNow);
if (!Files.exists(newDir) || !Files.isDirectory(newDir)) {
Files.createDirectory(newDir);
//create 2014 directory if it doesn't exist
}
}
遍历以 "2014" 开头的元素,并将它们移动到新目录(newDir,也称为2014)中。
for (Path p : curYearStream) {
System.out.println(p); //it prints out exactly the files that I need to move
Files.move(p, newDir); //java.nio.file.FileAlreadyExistsException
}
我遇到了java.nio.file.FileAlreadyExistsException的问题,因为我的文件夹(2014)已经存在。实际上,我想要做的是将所有以“2014”开头的文件移动到2014目录中。