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();
?