Java BufferedOutputStream-Klasse
Java BufferedOutputStream-Klasse
In diesem Tutorial lernen wir Java BufferedOutputStream und seine Methoden anhand von Beispielen kennen.
Der BufferedOutputStream
Klasse der java.io
Paket wird mit anderen Ausgabeströmen verwendet, um die Daten (in Bytes) effizienter zu schreiben.
Es erweitert den OutputStream
abstrakte Klasse.
Funktion von BufferedOutputStream
Die BufferedOutputStream
verwaltet einen internen Puffer von 8192 Bytes .
Während des Schreibvorgangs werden die Bytes in den internen Puffer statt auf die Platte geschrieben. Sobald der Puffer gefüllt oder der Stream geschlossen ist, wird der gesamte Puffer auf die Festplatte geschrieben.
Daher wird die Anzahl der Kommunikationen mit der Platte reduziert. Aus diesem Grund ist das Schreiben von Bytes mit BufferedOutputStream
schneller .
Erstellen Sie einen BufferedOutputStream
Um einen BufferedOutputStream
zu erstellen , müssen wir den java.io.BufferedOutputStream
importieren Paket zuerst. Sobald wir das Paket importiert haben, können wir hier den Ausgabestrom erstellen.
// Creates a FileOutputStream
FileOutputStream file = new FileOutputStream(String path);
// Creates a BufferedOutputStream
BufferedOutputStream buffer = new BufferOutputStream(file);
Im obigen Beispiel haben wir einen BufferdOutputStream
erstellt mit dem Namen Puffer mit dem FileOutputStream
namens Datei .
Der interne Puffer hat hier die Standardgröße von 8192 Byte. Wir können jedoch auch die Größe des internen Puffers angeben.
// Creates a BufferedOutputStream with specified size internal buffer
BufferedOutputStream buffer = new BufferOutputStream(file, int size);
Der Puffer hilft dabei, Bytes schneller in Dateien zu schreiben.
Methoden von BufferedOutputStream
Die BufferedOutputStream
-Klasse stellt Implementierungen für verschiedene Methoden in OutputStream
bereit Klasse.
write()-Methode
write()
- schreibt ein einzelnes Byte in den internen Puffer des Ausgabestreamswrite(byte[] array)
- schreibt die Bytes aus dem angegebenen Array in den Ausgabestromwrite(byte[] arr, int start, int length)
- schreibt die Anzahl der Bytes gleich length in den Ausgabestrom von einem Array, beginnend an der Position start
Beispiel:BufferedOutputStream zum Schreiben von Daten in eine Datei
import java.io.FileOutputStream;
import java.io.BufferedOutputStream;
public class Main {
public static void main(String[] args) {
String data = "This is a line of text inside the file";
try {
// Creates a FileOutputStream
FileOutputStream file = new FileOutputStream("output.txt");
// Creates a BufferedOutputStream
BufferedOutputStream output = new BufferedOutputStream(file);
byte[] array = data.getBytes();
// Writes data to the output stream
output.write(array);
output.close();
}
catch (Exception e) {
e.getStackTrace();
}
}
}
Im obigen Beispiel haben wir einen gepufferten Ausgabestrom mit dem Namen output erstellt zusammen mit FileOutputStream
. Der Ausgabestream wird mit der Datei output.txt verknüpft .
FileOutputStream file = new FileOutputStream("output.txt");
BufferedOutputStream output = new BufferedOutputStream(file);
Um Daten in die Datei zu schreiben, haben wir den write()
verwendet Methode.
Hier, wenn wir das Programm ausführen, die output.txt Datei wird mit folgendem Inhalt gefüllt.
This is a line of text inside the file.
Hinweis :Der getBytes()
Die im Programm verwendete Methode konvertiert einen String in ein Array von Bytes.
flush()-Methode
Um den internen Puffer zu löschen, können wir den flush()
verwenden Methode. Diese Methode zwingt den Ausgabestrom, alle im Puffer vorhandenen Daten in die Zieldatei zu schreiben. Zum Beispiel
import java.io.FileOutputStream;
import java.io.BufferedOutputStream;
public class Main {
public static void main(String[] args) {
String data = "This is a demo of the flush method";
try {
// Creates a FileOutputStream
FileOutputStream file = new FileOutputStream(" flush.txt");
// Creates a BufferedOutputStream
BufferedOutputStream buffer = new BufferedOutputStream(file);
// Writes data to the output stream
buffer.write(data.getBytes());
// Flushes data to the destination
buffer.flush();
System.out.println("Data is flushed to the file.");
buffer.close();
}
catch(Exception e) {
e.getStackTrace();
}
}
}
Ausgabe
Data is flushed to the file.
Wenn wir das Programm ausführen, wird die Datei flush.txt wird mit dem Text gefüllt, der durch die Zeichenfolge data repräsentiert wird .
close()-Methode
Um den gepufferten Ausgabestrom zu schließen, können wir den close()
verwenden Methode. Sobald die Methode aufgerufen wurde, können wir den Ausgabestrom nicht verwenden, um die Daten zu schreiben.
Um mehr zu erfahren, besuchen Sie Java BufferedOutputStream (offizielle Java-Dokumentation).
Java