我正在尝试使用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/

10-10 04:43