【发布时间】:2014-04-16 21:16:31
【问题描述】:
我正在使用 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目录中。
【问题讨论】: