Java FileOutputStream Klasse – Umfassender Leitfaden
Java FileOutputStream Klasse
Dieses Tutorial geht durch die Java FileOutputStream Klasse, ihre Konstruktoren, Schlüsselmethoden und praktische Beispiele.
Die FileOutputStream Klasse, Teil des java.io Pakets, ermöglicht das Schreiben von rohen Byte-Daten in Dateien. Sie erweitert die abstrakte OutputStream Klasse und ist essenziell für binäre Datei-Operationen.
Bevor Sie in FileOutputStream eintauchen, stellen Sie sicher, dass Sie grundlegende Java Datei-Handling Konzepte verstehen.
FileOutputStream erstellen
Um einen FileOutputStream zu erstellen, importieren Sie die Klasse aus java.io und instanziieren Sie sie entweder mit einem Dateipfad oder einem File Objekt.
1. Mit Dateipfad
// Mit append-Flag
FileOutputStream output = new FileOutputStream(String path, boolean append);
// Ohne append-Flag
FileOutputStream output = new FileOutputStream(String path);
Der append Boolean bestimmt, ob Daten an das Ende der Datei angehängt werden (true) oder bestehenden Inhalt überschreiben (false).
2. Mit File Objekt
FileOutputStream output = new FileOutputStream(File fileObject);
Dieser Konstruktor verknüpft den Stream mit der Datei, die durch fileObject repräsentiert wird.
Wichtige Methoden von FileOutputStream
FileOutputStream implementiert mehrere von OutputStream geerbte Methoden, jeweils für Byte-Operationen angepasst.
write()
write(int b)– schreibt ein einzelnes Byte.write(byte[] b)– schreibt ein ganzes Byte-Array.write(byte[] b, int off, int len)– schreibtlenBytes ausbab Offsetoff.
Beispiel: Text in eine Datei schreiben
import java.io.FileOutputStream;
public class Main {
public static void main(String[] args) {
String data = "This is a line of text inside the file.";
try {
FileOutputStream output = new FileOutputStream("output.txt");
byte[] array = data.getBytes();
output.write(array);
output.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Die Ausführung dieses Programms erstellt output.txt mit dem oben gezeigten Satz. Die getBytes() Methode konvertiert den String in seine UTF-8 Byte-Repräsentation.
flush()
Die flush() Methode erzwingt, dass alle gepufferten Bytes sofort in die Datei geschrieben werden. Sie ist nützlich, wenn Sie sicherstellen müssen, dass Daten persistiert sind, bevor der Stream geschlossen wird.
import java.io.FileOutputStream;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
FileOutputStream out = new FileOutputStream("flush.txt");
String data = "This is demo of flush method";
out.write(data.getBytes());
out.flush();
out.close();
}
}
close()
Nach dem Aufruf von close() ist der Stream nicht mehr nutzbar. Er gibt Systemressourcen frei und stellt sicher, dass der Datei-Handle ordnungsgemäß freigegeben wird.
Weitere FileOutputStream Methoden
| Methode | Beschreibung |
|---|---|
finalize() | Wird vom Garbage Collector aufgerufen, um zu garantieren, dass close() aufgerufen wird. |
getChannel() | Gibt den zugehörigen FileChannel für erweiterte Datei-Operationen zurück. |
getFD() | Ruft den zugrundeliegenden File Descriptor ab. |
Für tiefere Einblicke verweisen Sie auf die offizielle Java FileOutputStream Dokumentation.
Java
- Javas final-Schlüsselwort verstehen: Variablen, Methoden und Klassen
- Java instanceof-Operator: Ein umfassender Leitfaden
- Java-Vererbung meistern: Konzepte, Typen und praktische Beispiele
- Java statische verschachtelte Klassen verstehen: Nutzung, Unterschiede und Beispiele
- Java anonyme innere Klassen meistern: Definition, Syntax und praktische Beispiele
- Java Singleton-Pattern erklärt: Sichere Implementierung und Verwendung
- Java Reflection meistern: Klassen, Methoden und Felder zur Laufzeit inspizieren
- Java ObjectOutputStream meistern: Serialisierung, Methoden und praktische Beispiele
- Java Generics meistern – Wiederverwendbaren, typsicheren Code erstellen
- Java-Dateioperationen mit java.io meistern – Erstellen, Lesen, Schreiben & Löschen