Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Java

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

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

  1. Letztes Java-Schlüsselwort
  2. Java-Instanz des Operators
  3. Java-Vererbung
  4. Verschachtelte statische Java-Klasse
  5. Anonyme Java-Klasse
  6. Java-Singleton-Klasse
  7. Java-Reflexion
  8. Java ObjectOutputStream-Klasse
  9. Java-Generika
  10. Java-Dateiklasse