我能使用任何工具来强制重命名一个来自 Java.io 的文件吗?
我知道 Java 7 有这些功能,但我不能使用它...
如果我执行
File tempFile = File.createTempFile();
tempFile.renameTo(newfile)
如果newfile已经存在,则重命名操作会失败。
如何进行强制重命名?
我能使用任何工具来强制重命名一个来自 Java.io 的文件吗?
我知道 Java 7 有这些功能,但我不能使用它...
如果我执行
File tempFile = File.createTempFile();
tempFile.renameTo(newfile)
如果newfile已经存在,则重命名操作会失败。
如何进行强制重命名?
我认为您需要手动完成此操作 - 这意味着在进行真正的重命名之前,您需要检查目标名称是否已存在,并将其删除。
您可以编写程序来完成此操作:
public void forceRename(File source, File target) throws IOException
{
if (target.exists()) target.delete();
source.renameTo(target)
}
你可以先删除 newFile
:
File newFile = ...
File file = ...
newFile.delete();
file.renameTo(newFile);
每当一个文件夹处于打开状态时,我无法重命名。在Java中设置以下属性解决了我的问题:
dirToRename.setExecutable(true);