1
這是我的代碼:在try塊內聲明RandomAccessFile對象會導致資源泄漏警告,但在外面聲明它不會?
try {
RandomAccessFile srcFile = new RandomAccessFile("src.txt", "rw");
} catch(FileNotFoundException e) {
e.printStackTrace();
}
此代碼給我一個警告,RandomAccessFile
對象SRCFILE永遠不會關閉。
但是,如果我修改我的代碼並在try塊外聲明srcFile(如下面的代碼所示),警告消失。
RandomAccessFile srcFile;
try {
srcFile = new RandomAccessFile("src.txt", "rw");
} catch(FileNotFoundException e) {
e.printStackTrace();
}
爲什麼會發生這種情況,因爲我沒有在任何情況下做srcFile.close();
?