【发布时间】:2014-09-21 06:35:20
【问题描述】:
我已经多次看到这个问题,但我没有找到适合我的解决方案。我正在尝试将文件重命名为新文件名。我每次都变得虚假,不知道为什么像大多数其他有同样问题的人一样。
我的代码如下:
File file = new File("filePath.log");
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
for(int i = 1 ; i < 300 ; i++){
bw.write(i);
if(i % 100 == 0){
File newFile = new File("filePath2.log");
if(file.renameTo(newFile)){
System.out.println("true");
} else{
System.out.println("false");
}
file = new File("filePath.log");
bw = new BufferedWriter(new FileWriter(file));
}
}
感谢任何帮助!
编辑:
我能够使用 Files.move 方法解决问题
bw.close();
String newFilePath ="C:/opt/streamserve/projroot/applications/RFC_SAP_T1/wd/rfcgateway07122014" + move + ".log";
File newFile = new File(newFilePath);
Files.move(file.toPath(), newFile.toPath(), StandardCopyOption.REPLACE_EXISTING);
file = new File("C:/opt/streamserve/projroot/applications/RFC_SAP_T1/wd/rfcgateway.log");
fw = new FileWriter(file);
bw = new BufferedWriter(fw);
move++;
【问题讨论】:
-
这是什么操作系统?
-
将 if 语句的第一行添加为 bw.close();它可能会起作用。在所有操作系统中仍然不可靠
-
这是在 Windows 上运行的