RandomAccessFile でアクセスできるファイルの名前を変更しようとしています。必要なすべての変更を一時アーカイブに加えたら、2 つの 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);
これを見ましたが、あまり役に立ちませんでした。