Java BufferedWriter, OutputStreamWriter capable d'écrire à fermé FileOutputStream

J'attendais le code suivant pour lancer une exception quand j'aller écrire des données dans le Flux:

File file = new File("test.txt");
FileOutputStream fs = new FileOutputStream(file);
OutputStreamWriter ow = new OutputStreamWriter(fs);
BufferedWriter writer = new BufferedWriter(ow);

fs.close();

try {
    ow.write(65);
    writer.write("test");
} catch (Exception e) {
    e.printStackTrace();
}

Je me rends compte que je devrais fermer la BufferedWriter, mais dans mon environnement actuel, il est peut être possible pour les FileOutputStream être clôturée avant la BufferedWriter est fermé. Ne pas le FileOutputStream être jeter un IOException qui doit se déplacer jusqu'à la chaîne jusqu'à ce qu'il frappe mon bloc try/catch et imprimer la trace de la pile?

Si j'essaie d'appeler fs.écrire(65), puis elle lève une exception.

OriginalL'auteur craineum | 2010-03-16