我正在尝试使用File#renameTo()
重命名现有文件,但是它似乎不起作用。
以下代码表示我正在尝试执行的操作:
public class RenameFileDirectory {
public static void main(String[] args) throws IOException {
new RenameFileDirectory();
}
public RenameFileDirectory() throws IOException {
File file = new File("C:\\Users\\User-PC\\Desktop\\Nouveau dossier2\\file.png");
File desFile = new File ("C:\\Users\\User-PC\\Desktop\\Nouveau dossier2\\file2.png");
if (file.renameTo(desFile)) {
System.out.println("successful rename");
} else {
System.out.println("error");
}
}
}
最佳答案
尝试改用Files.move。如果您阅读renameTo的javadocs,它指出:
此方法的行为的许多方面本质上都依赖于平台:重命名操作可能无法将文件从一个文件系统移动到另一个文件系统,它可能不是原子的,并且如果具有目标抽象路径名的文件可能无法成功已经存在。应该始终检查返回值,以确保重命名操作成功。
关于java - 'File#renameTo()'在Java中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38445072/