2016-04-24 14 views
0

実行時に生成された情報を保持するランダムアクセスファイルがあります。このファイルには、プログラムの終了時にディレクトリから削除する必要があります。これは明らかに動作しませんディレクトリからRandomAccessFileを削除する

RandomAccessFile temp = new RandomAccessFile ("temp.tmp", "rw"); 
temp = new File(NetSimView.filename); 
temp.delete(); 

、と私は見つけることができませんでした:私が見つけたものを、ランダムアクセスファイルは、私が発見した通常のファイルとすべてなどのdeleteメソッドを持っていないからですNetSimView上のもの。何か案は?

答えて

0

RandomAccessFileには削除方法がありません。 削除するファイルに対して新しいFileオブジェクトを作成しても問題ありません。しかし、ことを実行する前に、あなたが行うことができます、あなたがプログラムの終了時に削除されたファイルを持っているしたい場合はRandomAccessFile.close()

を呼び出すことにより、同じファイルを参照するRandomAccessFileが閉じている保証するために必要なもののように:

File file = new File("somefile.txt"); 

//Use the try-with-resources to create the RandomAccessFile 
//Which takes care of closing the file once leaving the try block 
try(RandomAccessFile randomFile = new RandomAccessFile(file, "rw")){ 

    //do some writing to the file... 
} 
catch(Exception ex){ 
    ex.printStackTrace(); 
} 

file.deleteOnExit(); //Will delete the file just before the program exits 

tryステートメントの上のコメントにtry-with-resourceを使用し、プログラムの終了時にファイルを削除するためにfile.deleteOnExit()と呼ぶ最後のコード行に注目してください。

+0

ありがとう、私は私の削除を行うために通常のファイルオブジェクトを作成するとは思わなかったRandomAccessFileオブジェクトでファイルを削除することに固執しました。 – WickedChester

関連する問題