2

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);

これを見ましが、あまり役に立ちませんでした。

4

0 に答える 0