FileWriter close() muss?

B

BlimaBub

Gast
Heyho!

Wenn ich per FileWriter in eine Datei schreibe und damit fertig bin,
muss ich dann close() anwenden oder kann ich das auch weg lassen?
Weil wenn ich das Programm beende wird die Datei doch eh geschlossen
oder nicht?
 
S

SlaterB

Gast
wenn ein Haus irgendwann mal abgerissen wird, geht sicherlich auch der Herd aus,
sollte man es dennoch nicht nach jedem Kochen machen?
 
G

Gast2

Gast
Ein close() solltest du immer machen.
Ich würde mich erstens nicht drauf verlassen dass alle Ressourcen wieder ordnungsgemäß freigegeben, außerdem wird beim close() noch nen flush durchgeführt das alle Daten im Buffer wegschreibt.

Bei folgendem Code:
Java:
public static void main(String... args) throws IOException {
	new FileWriter("test.txt").write("Test nachricht");
}
könnte es passieren dass die Datei leer ist, obwohl du im Code was geschrieben hast.

EDIT:
SlaterB's Argumentation ist aber wesentlich stichhaltiger :toll:
 
B

BlimaBub

Gast
hmmm... dann wirds schwierig.
Weil die datei in die ich schreibe ist ein Observer.... und wird auch nur als
Observer instanziiert... wüsste also nicht wie ich das dann schließen könnte
sobald mein Programm beendet ist.

Öffnen ist ja kein Problem, das mach ich im Construktor....
Gibt es in Java einen Destruktor?
 
G

Gast2

Gast
Ja gibts, sollte man sich aber nicht drauf verlassen (google mal nach
Code:
java finalize
).

Als Grundregel gilt:
Wenn A eine Ressource erstellt ist A, und niemand anderes, dafür verantwortlich die wieder zu schließen.
 
B

BlimaBub

Gast
D .h.

Wenn ich in meiner Main den Observer instanziiere dann muss ich
in der Main das finalize() (was ich gleich lesen werde ;)) anwenden?
 
S

SlaterB

Gast
wenn eine Datei die ganze Zeit über verwendet wird, auch niemand anders dort liest, solange Blockade ok ist,
etwa Log-Datei, dann kann sie ja auch gerne länger offen bleiben,
mit gegebenenfalls flush() nach jedem Schreiben ist gesichert dass alles auf der Festplatte landet,

wenn man aber klar an einem Punkt sagen kann, dass man mit einer Datei fertig ist, dann gibt es nun wirklich keine Ausrede gegen close()
 
G

Gast2

Gast
Wenn du mit dem Lesen fertig bist wirst du hoffentlich zu der Meinung kommen das finalize() nicht zu nutzen und es anders zu machen ;)

Ansonsten siehe SlaterB's Antwort, wenn du fertig bist, dann schließe die Datei.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D FileWriter / FileReader Problem Java Basics - Anfänger-Themen 10
A Datei Ein und Ausgabe FileWriter und printWriter Java Basics - Anfänger-Themen 5
O Ausgabe als .txt Datei speichern mit FileWriter Java Basics - Anfänger-Themen 2
B FileWriter nicht sichtbar? Java Basics - Anfänger-Themen 4
D Methoden Filewriter macht keine Zeilenumbrüche Java Basics - Anfänger-Themen 3
D FileWriter schreibt nicht in Datei Java Basics - Anfänger-Themen 14
Z FileWriter erzeugt Symbole Java Basics - Anfänger-Themen 8
C FileWriter bzw. Reader fehlerhaft Java Basics - Anfänger-Themen 6
C FileWriter Problem. Java Basics - Anfänger-Themen 2
M FileWriter Neue Datei wenn aktuelle "zu groß" Java Basics - Anfänger-Themen 3
D Nur aus Interesse: Warum verwendet man FileWriter.flush()? Java Basics - Anfänger-Themen 4
B FileWriter und JFileChooser zusammenfügen Java Basics - Anfänger-Themen 3
Java-Insel Methoden FileWriter Methoden funktionieren nicht Java Basics - Anfänger-Themen 20
D Erste Schritte Warum try-catch für FileWriter Java Basics - Anfänger-Themen 5
G Effizienzsteigerung von FileWriter als Logging Java Basics - Anfänger-Themen 4
L FileReader und Filewriter Java Basics - Anfänger-Themen 4
O Datentypen double in string über fileWriter... Java Basics - Anfänger-Themen 7
O OOP fileWriter Dateiname übergeben Java Basics - Anfänger-Themen 12
R Klassen FileWriter und CharSet Java Basics - Anfänger-Themen 4
Luk10 FileWriter Java Basics - Anfänger-Themen 6
W Problem mit FileWriter / ActionListener Java Basics - Anfänger-Themen 6
O Integer in File mit Filewriter schreiben - geht nicht richtig Java Basics - Anfänger-Themen 4
M Probleme mit FileWriter Java Basics - Anfänger-Themen 7
M FileWriter innerhalb runnable Jar Java Basics - Anfänger-Themen 8
Burny91 FileReader / FileWriter / BufferedWriter An einer bestimmten Zeile String ersetzten Java Basics - Anfänger-Themen 2
C FileWriter mit einer Variable Java Basics - Anfänger-Themen 8
S FileWriter - in neue Zeile schreiben!? Java Basics - Anfänger-Themen 19
K FileWriter Speicherort Java Basics - Anfänger-Themen 7
T OOP Speichern mit BufferedWriter(FileWriter(File)) Java Basics - Anfänger-Themen 2
S FileWriter Java Basics - Anfänger-Themen 3
S Filewriter schreibt einfach nicht Java Basics - Anfänger-Themen 6
G FileWriter -> neue Zeile Java Basics - Anfänger-Themen 13
F Seltsame Zeichen und kein Zeichenumbruch mit Filewriter Java Basics - Anfänger-Themen 4
G FileWriter Java Basics - Anfänger-Themen 3
G FileWriter Java Basics - Anfänger-Themen 6
T FileWriter Java Basics - Anfänger-Themen 5
M FileWriter Java Basics - Anfänger-Themen 18
J Problem mit FileWriter Java Basics - Anfänger-Themen 24
N Schneller als FileWriter? Java Basics - Anfänger-Themen 28
B Problem mit Filereader und filewriter Java Basics - Anfänger-Themen 20
M FileWriter-Problem Java Basics - Anfänger-Themen 2
P FileWriter schreiben? Java Basics - Anfänger-Themen 4
L Streamklassen, Filewriter und StringBuffer Java Basics - Anfänger-Themen 2
D FileWriter write? Zeilenumbruch ? Java Basics - Anfänger-Themen 4
G Prüfen mit FileWriter Java Basics - Anfänger-Themen 6
N Problem mit FileWriter Java Basics - Anfänger-Themen 2
S FileWriter-Variable nicht initialisiert Java Basics - Anfänger-Themen 3
R FileWriter: Dort wieder anfangen, wo er aufgehört hat Java Basics - Anfänger-Themen 4
S FileWriter funzt nicht :( Java Basics - Anfänger-Themen 5
J Was genau macht die Methode close() im InputStream? Java Basics - Anfänger-Themen 5
S ResultSet close() in funktion nich möglich. Java Basics - Anfänger-Themen 8
S Close Möglichkeiten Java Basics - Anfänger-Themen 3
T socket.close aber verbindung besteht noch Java Basics - Anfänger-Themen 4
firefexx Input/Output close() bei mehreren Streams Java Basics - Anfänger-Themen 5
J CLOSE in JOptionPane Java Basics - Anfänger-Themen 7
M Stream close Java Basics - Anfänger-Themen 6
D Mysql Connection Close? Java Basics - Anfänger-Themen 14
H File f close()? Java Basics - Anfänger-Themen 3
ModellbahnerTT Unterschied zwischen zwei Frame close Varianten Java Basics - Anfänger-Themen 3
G Warum bei Stream close() aufrufen. Java Basics - Anfänger-Themen 12
G [Verständnisfrage] flush() und close() Java Basics - Anfänger-Themen 6
N Problem mit BufferedReader und close() Java Basics - Anfänger-Themen 6
S window Close ? FrAge Java Basics - Anfänger-Themen 12
F Frame Close Frage Java Basics - Anfänger-Themen 17
F Warum muss ich ein SSL cert immer manuell hinzufügen? Java Basics - Anfänger-Themen 46
_so_far_away_ Inventarisierungssystem brauche switch Cases und weiß nicht, wie ich e implementieren muss Java Basics - Anfänger-Themen 5
frager2345 Warum muss ich hier im Konstruktor meine Exeption nicht abfangen ? Java Basics - Anfänger-Themen 4
berserkerdq2 Warum muss man manchmal in der RUnmethode sleep in eine schleife tun? Java Basics - Anfänger-Themen 9
berserkerdq2 wie funktioniert contenthandler, was muss ich bei der Methode startElement und endElement tun? Java Basics - Anfänger-Themen 11
M Eine Methode die erkennt ob die ein gegebene zahl größer oder kleiner sein muss Java Basics - Anfänger-Themen 2
D Bitte um Hilfe muss es schnellstmöglich erledigen Java Basics - Anfänger-Themen 15
A OOP Bidirektionale Muss-Assoziation Java Basics - Anfänger-Themen 1
Aqtox Hallo ich muss für die Schule ein Wuerfell Duell erstellen jedoch habe ich ein fehler Java Basics - Anfänger-Themen 4
M Was muss ich verändern damit ich es so ausgegeben bekomme wie auf dem Foto? Java Basics - Anfänger-Themen 2
C Instanzen, wann muss ich Instanzen erzeugen & wo?) Java Basics - Anfänger-Themen 23
R Was muss ich an meinem Code ändern? Java Basics - Anfänger-Themen 2
L Worauf muss ich achten, wenn ich externe Bibliotheken für meine Anwendungen verwende? Java Basics - Anfänger-Themen 6
L Muss eine HttpURLConnection geschlossen werden? Java Basics - Anfänger-Themen 2
B Email versenden, muss Methode static sein? Java Basics - Anfänger-Themen 7
J Muss ich die externen jars mitgeben? Java Basics - Anfänger-Themen 8
A Wie erkennt die JVM welche class verwendet werden muss? Java Basics - Anfänger-Themen 3
Yjuq Generic Methode - Wie muss die List Definition aussehen? Java Basics - Anfänger-Themen 3
B 4 Strings, Anfangsbuchstaben muss unterschiedlich sein Java Basics - Anfänger-Themen 12
A Doppele Ketten- da muss einer rein! Java Basics - Anfänger-Themen 6
J App.jar muss im Projekt App als Bibliothek vorhanden sein?! Java Basics - Anfänger-Themen 1
S Wie muss ich die Generische Methode schreiben? Java Basics - Anfänger-Themen 6
S Warum muss ich die operationen mit AffineTransform in umgekehrter Reihenfolge ausfuehren..? Java Basics - Anfänger-Themen 4
K Wieso muss man finale statische Variablen sofort oder eben im Konstruktor initialisieren? Java Basics - Anfänger-Themen 2
G Interface java.util.Comparator: Wieso muss nur die Methode compare() implementiert werden Java Basics - Anfänger-Themen 2
X Muss man das immer so schreiben o.O Java Basics - Anfänger-Themen 3
Z Gleiches Verzeichnis für class und java unter Windows Muss? Java Basics - Anfänger-Themen 11
T Muss ein Parametertest immer eine eigene Testklasse sein? Java Basics - Anfänger-Themen 3
D Socket ---> Server Socket worauf muss ich achten? Java Basics - Anfänger-Themen 2
O Warum muss ich static? Java Basics - Anfänger-Themen 6
B Split, Exception - Obwohl es gehen MUSS Java Basics - Anfänger-Themen 3
A Threads Eine Klasse muss auf Variable der Anderen warten. Java Basics - Anfänger-Themen 6
D Sound abspielen, wo muss die .wav liegen Java Basics - Anfänger-Themen 3
X Muss man Java können um Jython nutzen zu können? Java Basics - Anfänger-Themen 14
H Problem: Button muss zwei Mal angeklickt werden, bis Aktion ausgeführt wird Java Basics - Anfänger-Themen 4
S jcal4j/jlog4j Wo muss die Properties file rein? Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben