2009-07-31 28 views
0

我正在使用RandomAccessFile的项目。我遇到的最大问题是即使我在访问文件后关闭文件,文件在整个应用程序退出之前都不会关闭。这是标准的行为还是有人有一些想法发生了什么?该代码基本上是这样的:RandomAccessFiles不关闭,直到应用程序退出

RandomAccessFile raf = new RandomAccessFile(f); 
//do stuff 
raf.close(); 

在那里我使用RandomAccessFile的这两部分都是这样的(即我100%肯定,我调用close上的文件。)

回答

4

你要确保你的关闭是在这样一个finally块里面

RandomAccesFile raf = null; 
try { 
    raf = new RandomAccessFile(f); 
    //do stuff 
} finally { 
    if (raf != null) { 
     raf.close(); 
    } 
} 

否则一个异常会导致close()永远不会被执行。

+1

@Martin OConnor:您还应该检查raf.close()的nullness,当然。 – akarnokd 2009-07-31 16:11:31

相关问题