我正在尝试创建一个临时文件,然后将其重命名为可用文件。临时文件是在%temp%中创建的,但未重命名: -
static void writeFile() {
try {
File tempFile = File.createTempFile("TEMP_FAILED_MASTER", "");
PrintWriter pw = new PrintWriter(tempFile);
for (String record : new String[] {"a","b"}) {
pw.println(record);
}
pw.flush();
pw.close();
System.out.println(tempFile.getAbsolutePath());
File errFile = new File("C:/bar.txt");
tempFile.renameTo(errFile);
System.out.println(errFile.getAbsolutePath());
System.out.println("Check!");
} catch (Exception e) {
e.printStackTrace();
}
}
答案 0 :(得分:0)
重命名失败的原因有几个。常见的是:
如果使用File.renameTo
,可能很难诊断这些(和其他)失败原因,因为你得到的只是一个布尔返回值。
我建议改用Files.move
。它可以处理文件系统之间的文件移动,如果无法重命名文件,则会抛出异常。