输入/输出流在销毁时是否关闭?
Java 中的 InputStreams 和 OutputStreams 是否在销毁时关闭()?我完全理解这可能是不好的形式(特别是在C和C++世界中),但我很好奇。
另外,假设我有以下代码:
private void foo()
{
final string file = "bar.txt";
Properties p = new Properties();
p.load( new FileInputStream(file) );
//...
}
无名的FileInputStream是否在p.load()之后超出范围,因此被销毁,有点像C++范围规则?我尝试在Google上搜索java的匿名变量范围,但这并没有发现我想象的那样。
谢谢。