下面的方法具有简单地将文件从“工作”目录移动到它通过方法调用接收的路径的“移动”目录的功能。这一切都有效,但对于文件名具有两个扩展名(如 .xml.md5)的情况,其中 .renameTo 方法返回 false。有没有办法改变下面的代码,所以不管它运行在什么操作系统上,它都可以工作。(目前是Windows)
public void moveToDir(String workDir, String moveDir) throws Exception {
File tempFile = new File(workDir);
File[] filesInWorkingDir = tempFile.listFiles();
for (File file : filesInWorkingDir) {
System.out.println(file.getName());
if (new File(moveDir + File.separator + file.getName()).exists())
new File(moveDir + File.separator + file.getName()).delete();
System.out.println(moveDir + File.separator + file.getName());
Boolean renameSuccessful = file.renameTo(new File(moveDir + File.separator + file.getName()));
if (!renameSuccessful) throw new Exception("Can't move file to " + moveDir +": " + file.getPath());
}
}