如何在java中前后重命名文件

如何在java中前后重命名文件,java,file,zip,rename,document,Java,File,Zip,Rename,Document,我想将文件名xxx.docx重命名为xxx.docx.zip,然后在Java中将其重命名回xxx.docx 这是我的密码 File file = new File(path); File file2 = new File(path+".zip"); file.renameTo(file2); File file3 = new File(file.getPath()); file2.renameTo(file3); 这行不通。多谢各位 编辑:问题是我忘记在重命名文档之前关闭它。这样的代码可以工作

我想将文件名xxx.docx重命名为xxx.docx.zip,然后在Java中将其重命名回xxx.docx

这是我的密码

File file = new File(path);
File file2 = new File(path+".zip");
file.renameTo(file2);
File file3 = new File(file.getPath());
file2.renameTo(file3);
这行不通。多谢各位


编辑:问题是我忘记在重命名文档之前关闭它。

这样的代码可以工作。很可能是其他进程锁定了该文件并使其为只读。您可以用word(因为它是docx文件)或类似的方式打开它。可能它位于只读位置


但代码仍在运行。尝试不同的文件,你会看到它是好的(我尝试过)

你为什么要这样做?它有什么可能的用途?
File.renameTo()
返回一个布尔值,而不检查结果。改用java.nio.files(
files.move()
)您可能没有做到这一点;您很可能正在对中间的文件执行其他操作。更详细地解释你的代码到底在做什么。请注意,如果某个进程打开了该文件,重命名可能不起作用。我想将文件类型.docx更改为.zip以将其解压缩并将xml文件放入其中。现在我发现了问题,非常感谢