2009-07-31 57 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

相關問題