我正在尝试重命名我可以通过RandomAccessFile访问的文件。当我在临时存档中进行所需的所有更改时,我关闭了两个RAF。但是,当我尝试移动文件时,重命名(替换)它表示我的档案已被其他进程使用。
当应用程序运行时,我无法手动对存档执行任何操作,但是当应用程序关闭时,我可以执行任何我想要的操作。
newraf.close();
raf.close();
File temp = new File(userHome+"\\orig.temp");
File orig = new File(userHome+"\\orig.ejb");
Files.move(temp.toPath(), orig.toPath(), REPLACE_EXISTING );
我尝试了其他方式,但没有奏效:
newraf.close();
raf.close();
File temp = new File(userHome+"\\orig.temp");
File orig = new File(userHome+"\\orig.ejb");
temp.renameTo(orig);
我看到了this,但没有太多帮助。