Kleine Sektflaschen Hochzeit
Um Daten zu Programmierzwecken vorübergehend oder dauerhaft zu speichern, müssen wir Daten in eine Datei schreiben. Es gibt viele Klassen und Methoden in Java, um Daten in eine Datei zu schreiben. In diesem Tutorial wird gezeigt, wie verschiedene Klassen und Methoden in Java verwendet werden können, um Daten in eine Datei zu schreiben. Einige notwendige Klassen und Methoden zum Schreiben von Dateien: writeString()-Methode: Diese Methode wird von Java Version 11 unterstützt. Sie kann vier Parameter annehmen. Dies sind Dateipfad, Zeichenfolge, Zeichensatz und Optionen. Die ersten beiden Parameter sind zwingend erforderlich, damit diese Methode in eine Datei schreiben kann. Es schreibt die Zeichen als Inhalt der Datei. Es gibt den Dateipfad zurück und kann vier Arten von Ausnahmen auslösen. Es ist besser zu verwenden, wenn der Inhalt der Datei kurz ist. FileWriter-Klasse: Wenn der Inhalt der Datei kurz ist, verwenden Sie der FileWriter Klasse zum Schreiben in die Datei ist eine weitere bessere Option.
Abschluss: In diesem Tutorial werden mehrere Möglichkeiten zum Schreiben in eine Datei gezeigt, indem verschiedene Java-Klassen verwendet werden. Der Benutzer kann jede der hier erwähnten Klassen auswählen, um basierend auf dem Inhalt der Datei in eine Datei zu schreiben.
In Dateien schreiben - Java als erste Programmiersprache - Javaschublade - Java als erste Programmiersprache Um Text in eine Datei zu schreiben, benötigt man einen FileWriter. Man kann auch gleich mit dem FileWriter schreiben, aber es empfiehlt sich einen BufferedWriter darüber zu legen, das ist effizienter. Wir wollen eine Datei erstellen. Wenn sie nicht vorhanden ist, wird sie automatisch erstellt, wenn sie vorhanden ist, wird sie ohne nachzufragen überschrieben - es sei denn, sie ist schreibgeschützt, dann gibt es eine Exception. Wenn man unter Linux keine Schreibrechte für diesen Ordner hat, gibt es ebenfalls eine Exception. In die Datei wollen wir zwei Zeilen schreiben: test test test tset tset tset oder irgendetwas, was dir einfällt. Einen Writer oder OutputStream sollte man immer mit close() schließen. Wenn man einen BufferedWriter schließt, wird auch der darunterliegende Stream geschlossen. " throws IOException " wird bei den Exceptions später erklärt. Erster Versuch: import *; class WriteFile { public static void main(String[] args) throws IOException FileWriter fw = new FileWriter(""); BufferedWriter bw = new BufferedWriter(fw); ("test test test"); ("tset tset tset"); ();}} Für den Anfang nicht schlecht, aber in der Datei steht unerfreulicherweise nur eine Zeile, nämlich: test test testtset tset tset Schreiben wir also dazwischen ein \n für "newline" in die Datei: ("\n"); Wer Linux benutzt, denkt jetzt: Prima, hat geklappt.
Ich habe ein array von Objekten, und ich möchte, um Ihnen zu schreiben in eine text-Datei. So kann ich später Lesen Sie die Objekte wieder in ein array. Wie sollte ich es tun? Durch Serialisierung. Deserialisierung funktioniert nicht: public static void readdata (){ ObjectInputStream input = null; try { input = new ObjectInputStream ( new FileInputStream ( "")); //getting end of file exception here} catch ( FileNotFoundException e1) { e1. printStackTrace ();} catch ( IOException e1) { e1. printStackTrace ();} array = ( players []) input. readObject (); //null pointer exception here} catch ( ClassNotFoundException e) { e. printStackTrace ();} catch ( IOException e) { e. printStackTrace ();}} public static void main ( String [] args) { readdata (); writedata ();} Lesen Sie über die Serialisierung und anwenden.. Dass problem beim Lesen der Datei. schreiben ist Arbeit. Sicherlich kann man genauer als "funktioniert nicht"? Wird eine exception geworfen? Wenn ja, was ist der stacktrace? Ausnahmen geworfen werden versuchen Sie zu fangen, ich schrieb die Ausnahme in den Kommentar finden Sie nach der Linie.
"); // Platformunabhängiger Zeilenumbruch wird in den Stream geschrieben ( tProperty ( "parator")); ( "Danke mir gehts gut! "); // Schreibt den Stream in die Datei // Sollte immer am Ende ausgeführt werden, sodass der Stream // leer ist und alles in der Datei steht. (); // Schließt den Stream ();} catch ( IOException e) { intStackTrace ();}} public static void main ( String [] args) { FileWriterExample fileWriterExample = new FileWriterExample (); hreiben ();}} Hier könnt ihr euch den Quelltext () herunterladen.
Beide Methoden neu in Java 11. staticPathwrite(Pathpath, byte[]bytes,.. options)throwsIOException Schreibt ein Byte-Array in eine Datei. staticPathwrite(Pathpath, Iterable extendsCharSequence>lines,.. options) throws IOException staticPathwrite(Pathpath, Iterable extendsCharSequence>lines, Charsetcs,.. options) throws IOException Schreibt alle Zeilen aus dem Iterable in eine Datei. Optional ist die Kodierung, die StandardCharsets. UTF_8 ist, so nicht anders angegeben. static Path writeString(Path path, CharSequence csq, OpenOption… options) throws IOException static Path writeString(Path path, CharSequence csq, Charset cs, OpenOption… options) throws IOException Schreibt eine Zeichenfolge in die genannte Datei. Der übergebene path wird zurückgegeben. Beide Methoden neu in Java 11. Die Aufzählung OpenOption ist ein Vararg, und daher sind Argumente nicht zwingend nötig. StandardOpenOption ist eine Aufzählung vom Typ OpenOption mit Konstanten wie APPEND, CREATE usw. Beispiel: Lies eine UTF-8-kodierte Datei ein: String s = adString( path); Bevor die praktische Methode in Java 11 einzog, sah eine Alternative so aus: String s = new String( adAllBytes( path), StandardCharsets.
Dazu benutzen wird die Methode write(byte paket) der Klasse FileOutputStream. (( byte)(i)); Es wird aus dem Text, den wir speichern wollen ein Zeichen ( char) gelesen ( (i)), explizit zu einem byte gecastet und danach in die Pipeline geschrieben. Ist der ganze in der Pipeline, wir benutzen dazu eine Schleife, schlieen wir die Pipeline mit der close() -Methode, das Rechnersystem bernimmt die Kontrolle liest aus der Pipeline die Daten (im Prinzip nichts anderes als eine Reihung von Nullen und Einsen) schreibt sie in die Datei auf der Festplatte und gibt die Kontrolle an das Javaprogramm zurck. Klicken wir von Windows aus auf die Datei, so wird die Datei vom Standard-Editor geffnet, denn bei einer ' txt '-Endung 'geht Windows geht davon aus', dass es sich um eine einfache Textdatei handelt. Wie geschieht es, dass der Editor den Inhalt der Datei ' ' auch als Text auf den Bildschirm schreibt? Nun das ist jetzt einfach: Der Editor, der ja davon ausgeht, dass es sich bei der Datei um eine Textdatei handelt, liest aus der Datei 1 Byte groe Blcke, interpretiert ihren Inhalt als ASCII-Zeichen und schreibt das zum Zahlenwert gehrige Zeichen auf den Bildschirm.