【发布时间】:2010-02-15 19:41:28
【问题描述】:
在 C# 中,我在处理流对象时几乎总是使用using 模式。例如:
using (Stream stream = new MemoryStream())
{
// do stuff
}
通过使用using 块,我们确保在该代码块执行后立即在流上调用 dispose。
我知道 Java 没有 using 关键字的等价物,但我的问题是,当在 Java 中使用像 FileOutputStream 这样的对象时,我们是否需要做任何内务以确保它被处理掉? ?我正在查看 this 代码示例,我注意到他们没有做任何事情。
我只是想知道 Java 在处理释放流时的最佳做法是什么,或者是否足以让垃圾收集器处理它。
【问题讨论】: