2016-04-24 120 views
0

我有一个随机访问文件,它包含运行时生成的一些信息,当程序终止时需要从目录中删除这些信息。从我发现,随机访问文件没有像我发现的常规文件和全部删除的方法是:从目录中删除RandomAccessFile

RandomAccessFile temp = new RandomAccessFile ("temp.tmp", "rw"); 
temp = new File(NetSimView.filename); 
temp.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-resources并注意最后一行代码,我们称file.deleteOnExit()在程序终止时删除该文件。

+0

谢谢,我注意到用我的RandomAccessFile对象删除文件,我不认为只是创建一个常规文件对象来删除。 – WickedChester