can file.rename要替换现有文件吗?

aks*_*hay 11 java file-io file

// File (or directory) to be moved
File file = new File("filename");

// Destination directory
File dir = new File("directoryname");

// Move file to new directory
boolean success = file.renameTo(new File(dir, file.getName()));
if (!success) {
    // File was not successfully moved
    //can it be because file with file name already exists in destination?
}
Run Code Online (Sandbox Code Playgroud)

如果目标中已存在名称为"filename"的文件,则会将其替换为新文件吗?

mni*_*cky 11

根据Javadoc的说法:

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