InputStreams e OutputStreams in Java close() in caso di distruzione? Capisco perfettamente che questa possa essere una cattiva forma (specialmente nel mondo C e C++), ma sono curioso.Input/OutputStreams si chiude in caso di distruzione?
Inoltre, supponiamo di avere il seguente codice:
private void foo()
{
final string file = "bar.txt";
Properties p = new Properties();
p.load(new FileInputStream(file));
//...
}
Fa il FileInputStream senza nome esce dall'ambito dopo p.load(), e quindi vengono distrutte, un po 'come C++ regole di visibilità? Ho provato a cercare l'ambito delle variabili anonimo per Java su Google, ma non è risultato quello che pensavo sarebbe stato.
Grazie.
Grazie a tutti per l'aiuto! – Calyth
Si noti che il 'try' con risorse in Java 7 o successive renderebbe la risoluzione di questo problema un'operazione relativamente semplice (richiede solo un'assegnazione variabile aggiuntiva e, naturalmente,' try' stesso). Si noti inoltre che il codice precedente genererebbe un avvertimento (sulla chiusura mancante) nel mio ambiente Eclipse. –