Wir haben in den vorherigen Abschnitten etwas über den Dateibyte-Eingabestream gelernt. Da es also einen Dateibyte-Eingabestream gibt, gibt es auch einen entsprechenden Dateibyte-Ausgabestream. In diesem Abschnitt erfahren Sie mehr über den Dateibyte-Ausgabestream.
Die Verwendung von Ausgabestreams umfasst normalerweise vier grundlegende Schritte:
In diesem Abschnitt werden Sie mit den oben genannten vier Grundschritten vertraut gemacht, indem Sie den Dateibyte-Ausgabestrom untersuchen.
Wenn die Anforderungen zum Schreiben von Dateien relativ einfach sind, können Sie die FileOutputStream-Klasse (Dateibyte-Ausgabestream) verwenden, die eine Unterklasse der OutputStream-Klasse ist (Inhalt in Bytes in die Datei schreiben). Die Instanzmethoden dieser Klasse stammen alle von Inherited aus der OutputStream-Klasse.
Mit der folgenden Konstruktormethode mit der Aktualisierungsfunktion der FileOutputStream-Klasse können wir einen Ausgabestream erstellen, der auf eine Datei verweist.
FileOutputStream(Stringname);FileOutputStream(Filefile);
Der erste Konstruktor verwendet den angegebenen Dateinamen, um einen FileOutputStream-Stream zu erstellen; der zweite Konstruktor verwendet ein File-Objekt, um einen FileOutputStream-Stream zu erstellen. Die durch die Parameter name und file angegebene Datei wird als Ziel des Ausgabestreams bezeichnet.
Der FileOutputStream-Ausgabestream öffnet einen Kanal zur Datei (das Ziel ist diese Datei und der Ausgabestream zeigt auf diese Datei).
Hinweis : Wenn die Datei, auf die der Ausgabestream zeigt, nicht vorhanden ist, erstellt Java die Datei. Wenn die Datei, auf die der Ausgabestream zeigt, bereits vorhanden ist, aktualisiert der Ausgabestream die Datei (so dass die Länge der Datei 0 ist). ).
Darüber hinaus können beim Erstellen eines Ausgabestreams Fehler (sogenannte Ausnahmen) auftreten. Beispielsweise lässt die Datei, die der Ausgabestream zu schreiben versucht, den Vorgang möglicherweise nicht zu. Daher muss der Ausgabestream im Try-Block-Teil der Try-Catch-Anweisung erstellt werden und die Ausnahme muss im Catch-Block-Teil erkannt und behandelt werden.
Erstellen Sie beispielsweise einen Ausgabestream, der auf „destination.txt“ verweist:
try{FileOutputStreamout=newFileoutputStream(destin.txt);//Erstellen Sie einen Ausgabestream, der auf die Datei destin.txt zeigt}catch(IOExceptione){System.out.println(Filewriteerror:+e);}
oder
Filef=newFile(destin.txt);//Geben Sie das Ziel des Ausgabestreams an try{FileOutputStreamout=newFileOutputStream(f);//Erstellen Sie einen Ausgabestream, der auf das Ziel zeigt}catch(IOExceptione){System.out.println(Filewrite :+ e);}
Mit der folgenden Konstruktormethode der FileOutputStream-Klasse, die optional über eine Aktualisierungsfunktion verfügen kann, können wir einen Ausgabestream erstellen, der auf eine Datei verweist.
FileOutputStream(Stringname,booleanappend);FileOutputStream(Filefile,booleanappend);
Wenn Sie die Konstruktormethode zum Erstellen eines Ausgabestreams verwenden, der auf eine Datei verweist, und der Parameter „append“ wahr ist, aktualisiert der Ausgabestream die Datei, auf die verwiesen wird (sofern die Datei bereits vorhanden ist), nicht und die Schreibmethode des Ausgabestreams wird gestartet Ab dem Ende der Datei ist der Append-Parameter falsch und der Ausgabestream aktualisiert die Datei, auf die verwiesen wird (sofern die Datei bereits vorhanden ist).