Ich habe eine kleine Frage zu Java IO. Und zwar möchte ich den Objekt Inhalt einer Liste in einer Datei speicher (Klartext). Dafür habe ich folgenden Code:
[CODE lang="java" title="In Datei Speichern"]public void safeInTxt() {
try(FileOutputStream fos = new FileOutputStream(new File("Test"))) {
for(Medium medium : medien) {
medien.druckeDaten(fos);
}
} catch(IOException e) {
//TODO
}
}[/CODE]
Und in der Klasse Medium:
[CODE lang="java" title="druckeDaten"]public void druckeDaten(Outputstream os) {
PrintStream ps = new PrintStream(os);
ps.println(this);
ps.flush();
}[/CODE]
Normalerweise soll man einen Stream ja immer schließen, jedoch ist das hier nicht möglich, da sonst der PrintStream auch den OutputStream schließt. Deshalb wollte ich fragen, ob es in einer solchen Situation in Ordnung ist den PrintStream nicht zu schließen, oder ob das einfach eine grundsätzlich schlechte Lösung ist.
[CODE lang="java" title="In Datei Speichern"]public void safeInTxt() {
try(FileOutputStream fos = new FileOutputStream(new File("Test"))) {
for(Medium medium : medien) {
medien.druckeDaten(fos);
}
} catch(IOException e) {
//TODO
}
}[/CODE]
Und in der Klasse Medium:
[CODE lang="java" title="druckeDaten"]public void druckeDaten(Outputstream os) {
PrintStream ps = new PrintStream(os);
ps.println(this);
ps.flush();
}[/CODE]
Normalerweise soll man einen Stream ja immer schließen, jedoch ist das hier nicht möglich, da sonst der PrintStream auch den OutputStream schließt. Deshalb wollte ich fragen, ob es in einer solchen Situation in Ordnung ist den PrintStream nicht zu schließen, oder ob das einfach eine grundsätzlich schlechte Lösung ist.