Input/Output Beste Möglichkeit einen String in einen Datei zu Schreiben

Hallo zusammen,
Ich programmieren jetzt schon ein paar Jahre in Java und habe zum Abspeichern von Daten immer einen FileWriter + BufferedWriter benützt. Allerdings wollte ich mal fragen was den die beste Möglichkeit ist etwas in einen Datei zu Schreiben, da gibt es ja viele Möglichleiten:
-FIleWriter + einige erweiterte Weitere (StringWriter, BufferedWriter, etc.)
-FileOutputStream + erweitert (DataOutputStream, Buffered Outputstream, etc.)
-Printer (Printwriter, etc.)
-Formatter (aus java.util)
-und bestimmt noch andere Möglichkeiten.

Ich weiß außerdem das man Objecte mittels eines ObjectOutputStreams Serialisieren kann, will aber am besten etwas Menschen lesbares schreiben (einen String in eine Datei).

Und wenn wir grade dabei sind, gibt es auch einen dafür am passende Methode diesen wieder einzulesen?

Vielen Dank im Vorraus!
 
Nachdem ich mir alle mal angeschauen hab muss ich sagen das mur der PrintWriter ganz gut gefällt, da man ihn direkt auf die Datei aufrufen kann und er nützliche Methoden wie Println () hat, aber ob das jetzt die beste Lösung ist und wo z.b. der genaue Unterschied zu PrintStream ist, habe ich keinen Ahnung.
 
Zuletzt bearbeitet:

Enceladus271

Bekanntes Mitglied
Welchen Stream oder Reader/Writer man benutzt ist oft Geschmackssache. Den PrintWriter mag ich z.B. nicht, da er keine Exceptions wirft wenn das Schreiben nicht funktioniert hat.

Die read und write Methoden aus der Klasse java.nio.file.Files sind auch oft sehr nützlich. Hier sollte man allerdings beachten, dass der gesamte Inhalt einmal in den Arbeitsspeicher geladen wird.

Wenn du etwas in einem lesbaren Format speichern willst bietet sich JSON an. Es gibt einige Bibliotheken dafür (z.B. Jackson). Damit können Java-Objekte mit einem Einzeiler gelesen oder geschrieben werden. Beispiel:
Java:
Map<Integer,String> map = ...
ObjectMapper mapper = new ObjectMapper();
mapper.write(new File("C:\\test.txt"), map);
Das funktioniert auch mit komplexeren Klassen als Maps und ist gut lesbar.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Input/Output Beste Möglichkeit für user non-readable Datei Allgemeine Java-Themen 7
C Beste Möglichkeit eine jar mit großem Heapspace zu starten ? Allgemeine Java-Themen 8
J Beste Musik Bibliothek Allgemeine Java-Themen 12
S Getestete Methode um das Beste aus URL-Nutzereingaben rauszuholen..? Allgemeine Java-Themen 4
M Logikaufgabe: Beste Verteilung Allgemeine Java-Themen 11
D Beste Collection für Integer Allgemeine Java-Themen 4
H Regular Expressions: beste Methode? Allgemeine Java-Themen 5
B User-Input aus Zahlen und Operatoren - beste Umsetzung? Allgemeine Java-Themen 8
R Beste Methode: char[] c = new String(b, CHARSET).toCharArray() ? Allgemeine Java-Themen 2
S große CSV-Dateien Importieren. Beste Lösung ?! AWS,S3,Hadoop!? Allgemeine Java-Themen 4
U Beste Methode fürs Profiling Allgemeine Java-Themen 16
G Was wäre am einfachsten bzw. die beste Lösung? Allgemeine Java-Themen 6
H Apache fop -- welche Möglichkeit gibt es um den Fortschritt anzuzeigen (Progressbar) Allgemeine Java-Themen 5
Zrebna Gibt es eine Möglichkeit eine NPE zu vermeiden, wenn null returned wird? Allgemeine Java-Themen 3
Zrebna Möglichkeit regelmäßige indentation mittels/innerhalb Stringbuilder Allgemeine Java-Themen 14
Q Möglichkeit Online-Programmieren üben. Allgemeine Java-Themen 9
M Praktische Möglichkeit um Studierenden Java zu erklären Allgemeine Java-Themen 33
W Möglichkeit von java Allgemeine Java-Themen 16
D Möglichkeit mit GAE eine Table auszulesen und eine csv zu schreiben Allgemeine Java-Themen 22
V Gibt es eine Möglichkeit die Internet auslastung mit Java auszulesen Allgemeine Java-Themen 11
G Threads Gibt es eine Möglichkeit des Nichtblokierens? Allgemeine Java-Themen 5
L Java TimeZone für bestimmten offset -> Bessere Möglichkeit? Allgemeine Java-Themen 2
M Javamail -> andere Möglichkeit für Attachment Allgemeine Java-Themen 5
FoolMoon Elegante Möglichkeit die kleinste Zahl zu ermitteln. Allgemeine Java-Themen 7
M Java lernen, ist das eine gute Möglichkeit? Allgemeine Java-Themen 5
M Andere Möglichkeit zu casten Allgemeine Java-Themen 8
T Schnellste Möglichkeit Datenverarbeitung Allgemeine Java-Themen 5
T Schnellset Möglichkeit Datei einzulesen Allgemeine Java-Themen 11
K Möglichkeit zur eindeutigen UserID Allgemeine Java-Themen 10
T Möglichkeit um eine Taste zu drücken? Allgemeine Java-Themen 2
M Funktion als Parameter oder andere Möglichkeit Allgemeine Java-Themen 3
Jose05 Umgang mit Exceptions in einen Programm Allgemeine Java-Themen 2
Robert Zenz Ich brauche bitte mal kurz einen Sanity/Reality-Check betreffend Tests. Allgemeine Java-Themen 9
R Wie gestaltet man einen Authentifizierungsflow? Allgemeine Java-Themen 6
berserkerdq2 Jemand einen Tipp wie man ein Javafx-Hintergrund "dynamisch" macht Allgemeine Java-Themen 3
berserkerdq2 Text über einen Shape anzeigen (Scenebuilder) Allgemeine Java-Themen 1
Lennox Schinkel Java Kara Auf einen Java Host laufen lassen Allgemeine Java-Themen 17
A verschachtelte for-Schleife in einen Stream umwandeln? Allgemeine Java-Themen 4
N Wie mache ich einen UnitTest? Allgemeine Java-Themen 16
D Klassendesign für einen Pascal Interpreter Allgemeine Java-Themen 6
Jose05 Gibt es einen Nachteil bei dem JDK 8? Allgemeine Java-Themen 7
E Objekte in einen String packen und wieder laden Allgemeine Java-Themen 5
O Warum kann ich so keine Elemente löschen und erhalte einen IllegalStateException? Allgemeine Java-Themen 4
M Schleife für einen TicTacToe Computer Allgemeine Java-Themen 5
N Validator für einen SQL-Befehl Allgemeine Java-Themen 22
ZH1896ZH Best Practice Wie erstellt man am besten einen Kalender? Allgemeine Java-Themen 3
R Java Stream: Ist es möglich, einen stream zusammenzufassen Allgemeine Java-Themen 6
Zrebna FileUtils.cleanDirectory() - aber einen sub-Ordner "verschonen" Allgemeine Java-Themen 1
MiMa Datei verschieben hat einen Fehler?? Allgemeine Java-Themen 20
L Generator für einen Parser implementieren Allgemeine Java-Themen 13
W Haben Konstruktoren in Java eigentlich immer mindestens einen Parameter? Allgemeine Java-Themen 4
J Wie kann ich von Vornherrein einen Fokus auf ein Objekt entfernen? Allgemeine Java-Themen 3
P einen public <Optinal String> in einer anderen Klasse mit einem Int vergleichen Allgemeine Java-Themen 2
A Mithilfe von einer Nummer einen Namen finden n-Beziehung Allgemeine Java-Themen 8
B Long in einen Double umwandeln und im Label anzeigen Allgemeine Java-Themen 7
E Hat der Compiler einen Fehler oder warumbeendet return nicht eine Methode ? Allgemeine Java-Themen 7
MoxxiManagarm Ich brauche einen smarten Ansatz Allgemeine Java-Themen 23
J Gebautes Jar per Maven in einen Docker Container kopieren Allgemeine Java-Themen 0
Drachenbauer Wie kann eine vorgegebene Farbe über einen String erkannt werden? Allgemeine Java-Themen 11
L File beim Kopieren in einen anderen Ordner umbenennen Allgemeine Java-Themen 6
E Einen Bot Programmieren. Allgemeine Java-Themen 6
F Operationen/Methoden einen WebService im Browser mit Apache Axis aufrufen Allgemeine Java-Themen 4
N Über einen Button in JavaFX ein Event über eine Pipeline schicken(Netty) Allgemeine Java-Themen 1
J Einen Thread in einer Schleife Allgemeine Java-Themen 2
P [Webdriver] einen Datensatz signieren Allgemeine Java-Themen 0
R MAC-Adresse eindeutig für einen PC ? Bezug zu Netzwerk, wieso ? Allgemeine Java-Themen 7
L Variablen Eigenes Objekt wie z.B. einen Integer zuweisen Allgemeine Java-Themen 3
N Wie öffne ich einen runtergeladadenen Code in IntelliJ Allgemeine Java-Themen 3
R Wie einen ClientBuilder / JarBuilder programmieren? Allgemeine Java-Themen 14
L Input/Output Wie kann man in der Konsole einen Text farbig ausgeben z.b in grün Allgemeine Java-Themen 6
L Wie programmiert man einen Listener? Allgemeine Java-Themen 1
M Nanosekunden-Pause innerhalb einen Thread-Loops Allgemeine Java-Themen 3
Thallius Wie convertiere ich einen pkcs8 key in einen java lesbaren? Allgemeine Java-Themen 16
M Was braucht man, um einen Java Job zu bekommen? Allgemeine Java-Themen 8
G Substrings in einen String zusammenfassen Allgemeine Java-Themen 5
C Classpath Neue Klasse über einen Button ausführen Allgemeine Java-Themen 3
N Compiler-Fehler Warum erhalte ich einen Nullpointer Fehler? Allgemeine Java-Themen 2
P Zum src Ordner einen Projektes navigieren Allgemeine Java-Themen 8
J Abhängigkeit zwischen Rechenzeit und Speicherbedarf in einen Algorithmus Allgemeine Java-Themen 7
MaxG. Swing Wie kann man einen Dateiordner auswählen ? Allgemeine Java-Themen 3
D Kopieren von Dateien aus einem Ordner in einen anderen Allgemeine Java-Themen 6
KeVoZ_ int Werte in einen String fassen Allgemeine Java-Themen 4
RalleYTN Problem bei Schleife die durch einen 2D raum iterieren soll Allgemeine Java-Themen 1
S Einen Punkt um den Ursprung drehen Allgemeine Java-Themen 5
Tausendsassa Threads Einen Thread sich selbst schließen lassen Allgemeine Java-Themen 17
M Genaues Bugtracking - jemand einen Vorschlag? Allgemeine Java-Themen 14
L Gibt es in Java einen Property Editor? Allgemeine Java-Themen 2
S Einen übergebenen String kopieren Allgemeine Java-Themen 3
J Wie erschaffe ich einen sicheren Datenaustausch zwischen Thread und Nicht-Threads Allgemeine Java-Themen 8
L Wie kann ich einen Keystore aus existierenden Zertifikaten erstellen? Allgemeine Java-Themen 1
P Vectorelemente in einen anderen Vector kopieren Allgemeine Java-Themen 12
U in java an einen Rückgabewert aus matlab rankommen Allgemeine Java-Themen 2
B einen color-chooser bauen, ähnliche Farben vermeiden Allgemeine Java-Themen 5
B .txt Datei in einen kompletten String konvertieren Allgemeine Java-Themen 20
H Gibt es einen großen Unterschied zwischen Java 6 und Java 7? Allgemeine Java-Themen 3
M String in einen 2D array bringen Allgemeine Java-Themen 2
Y Prüfen ob ein Graph immer einen von mehren Enden erreicht Allgemeine Java-Themen 4
J (Java3D) Einen Faden programmieren - Logikproblem Allgemeine Java-Themen 5
Y Applet/Html - Wie Java-Methode aufrufen, die einen Parameter erwartet? Allgemeine Java-Themen 3
Rudolf In wie fern lohnt sich C++ für einen Javaentwickler Allgemeine Java-Themen 70

Ähnliche Java Themen

Neue Themen


Oben