我正在使用SpringFramework Web MVC并在servlet handleRequestInternal中,我创建了一个变量来访问本地文件系统中的文件,即
protected ModelAndView handleRequestInternal(HttpServletRequest request,......
{
......
File file = new File(rssPath);
if( !file.exists() ) {
file.createNewFile();
FileWriter outFile = new FileWriter(rssPath);
outFile.write(rssJson);
outFile.flush();
//file = null;
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,如果我没有将文件设置为null,该文件仍将被使用,我无法写入它.
我必须等几秒钟,可能直到GC来收集.
查看File API,我没有看到任何方法如close()来释放资源.
那么如何正确销毁文件引用(不将其设置为null,我错过了什么?)?
您无法关闭文件.但你必须关闭FileInputStream,FIleOutputStream,FileReader和FileWriter.否则,这些Streams(和File-Handles)将不会被GCed.(直到持有流的对象被GC)
编辑:在finally-Block中执行此操作,以确保调用close.
| 归档时间: |
|
| 查看次数: |
3073 次 |
| 最近记录: |