Использует ли InputStreams и OutputStreams в Java close() при уничтожении? Я полностью понимаю, что это может быть плохая форма (esp в мире C и С++), но мне любопытно.
Кроме того, предположим, что у меня есть следующий код:
private void foo()
{
final string file = "bar.txt";
Properties p = new Properties();
p.load( new FileInputStream(file) );
//...
}
Неужели безымянный FileInputStream выходит из области действия после p.load() и поэтому становится разрушенным, вроде как правила С++? Я попытался найти анонимную область видимости переменной для java в Google, но это не показало, что я думал, что это будет.
Спасибо.