'文件#renameTo()'在java中不起作用

时间:2016-07-18 20:01:31

标签: java

我尝试使用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");
        }
    }
}

1 个答案:

答案 0 :(得分:3)

请尝试使用Files.move。如果您阅读renameTo的javadoc,则说明:

  

此方法行为的许多方面本质上都依赖于平台:重命名操作可能无法将文件从一个文件系统移动到另一个文件系统,它可能不是原子的,并且如果文件具有目标抽象路径名已存在。应始终检查返回值以确保重命名操作成功。