gpt4 book ai didi

Java文件释放资源

转载 作者:行者123 更新时间:2023-12-02 21:10:48 26 4
gpt4 key购买 nike

我正在使用 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;
}
}

问题是,如果我不将文件设置为空,该文件仍将被使用,并且我无法写入它。

我必须等待几秒钟,可能直到GC来收集。

查看 File API,我没有看到任何诸如 close() 之类的方法来释放资源。

那么如何正确销毁文件引用(不将其设置为 null,我是否丢失了某些内容?)?

最佳答案

您无法关闭文件。但您必须关闭 FileInputStreamFIleOutputStreamFileReaderFileWriter。否则这些流(和文件句柄)将不会被GC。 (直到持有流的对象被GC)

编辑:在finally block 中执行此操作,以确保调用close。

关于Java文件释放资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4123096/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com