我正在使用围绕FileReader的BufferedReader读取本地文件:
BufferedReader reader = new BufferedReader(new FileReader(fileName));
// read the file
// (error handling snipped)
reader.close();
Run Code Online (Sandbox Code Playgroud)
我需要close()的FileReader为好,或将包装处理这个问题?我见过人们这样做的代码:
FileReader fReader = new FileReader(fileName);
BufferedReader bReader = new BufferedReader(fReader);
// read the file
// (error handling snipped)
bReader.close();
fReader.close();
Run Code Online (Sandbox Code Playgroud)
从servlet调用此方法,我想确保不打开任何句柄.
我收到了关于资源泄漏的警告(BufferedReader没有关闭).我通过在Return语句之前放置一个close语句并运行程序来修复它.但是我得到了一个NullPointerException.我的问题是它可以在文件读取完成时自动关闭(不知何故).这个问题看起来很相似.