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

Java ByteArrayOutputStream-Klasse

Java ByteArrayOutputStream-Klasse

In diesem Tutorial lernen wir Java ByteArrayOutputStream und seine Methoden anhand von Beispielen kennen.

Der ByteArrayOutputStream Klasse der java.io Paket kann verwendet werden, um ein Array von Ausgabedaten (in Bytes) zu schreiben.

Es erweitert den OutputStream abstrakte Klasse.

Hinweis :In ByteArrayOutputStream verwaltet ein internes Array von Bytes, um die Daten zu speichern.


Einen ByteArrayOutputStream erstellen

Um einen Byte-Array-Ausgabestrom zu erstellen, müssen wir den java.io.ByteArrayOutputStream importieren Paket zuerst. Sobald wir das Paket importiert haben, können wir wie folgt einen Ausgabestream erstellen.

// Creates a ByteArrayOutputStream with default size
ByteArrayOutputStream out = new ByteArrayOutputStream();

Hier haben wir einen Ausgabestrom erstellt, der Daten in ein Array von Bytes mit einer Standardgröße von 32 Bytes schreibt. Wir können jedoch die Standardgröße des Arrays ändern.

// Creating a ByteArrayOutputStream with specified size
ByteArrayOutputStream out = new ByteArrayOutputStream(int size);

Hier die Größe gibt die Länge des Arrays an.


Methoden von ByteArrayOutputStream

Die ByteArrayOutputStream Klasse stellt die Implementierung der verschiedenen Methoden bereit, die in OutputStream vorhanden sind Klasse.

write()-Methode

Beispiel:ByteArrayOutputStream zum Schreiben von Daten

import java.io.ByteArrayOutputStream;

class Main {
  public static void main(String[] args) {

    String data = "This is a line of text inside the string.";

    try {
      // Creates an output stream
      ByteArrayOutputStream out = new ByteArrayOutputStream();
      byte[] array = data.getBytes();

      // Writes data to the output stream
      out.write(array);

      // Retrieves data from the output stream in string format
      String streamData = out.toString();
      System.out.println("Output stream: " + streamData);

      out.close();
    }

    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

Ausgabe

Output stream: This is a line of text inside the string.

Im obigen Beispiel haben wir einen Byte-Array-Ausgabestream mit dem Namen output erstellt .

ByteArrayOutputStream output = new ByteArrayOutputStream();

Um die Daten in den Ausgabestream zu schreiben, haben wir den write() verwendet Methode.

Hinweis :Die getBytes() Die im Programm verwendete Methode konvertiert einen String in ein Array von Bytes.


Zugriffsdaten von ByteArrayOutputStream

Zum Beispiel

import java.io.ByteArrayOutputStream;

class Main {
  public static void main(String[] args) {
    String data = "This is data.";

    try {
      // Creates an output stream
      ByteArrayOutputStream out = new ByteArrayOutputStream();

      // Writes data to the output stream
      out.write(data.getBytes());

      // Returns an array of bytes
      byte[] byteData = out.toByteArray();
      System.out.print("Data using toByteArray(): ");
      for(int i=0; i<byteData.length; i++) {
        System.out.print((char)byteData[i]);
      }

      // Returns a string
      String stringData = out.toString();
      System.out.println("\nData using toString(): " + stringData);

      out.close();
    }

    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

Ausgabe

Data using toByteArray(): This is data.
Data using toString(): This is data.

Im obigen Beispiel haben wir ein Byte-Array erstellt, um die von toByteArray() zurückgegebenen Daten zu speichern Methode.

Wir haben dann die for-Schleife verwendet, um auf jedes Byte aus dem Array zuzugreifen. Hier wird jedes Byte per Typecasting in das entsprechende Zeichen umgewandelt.


close()-Methode

Um den Ausgabestream zu schließen, können wir den close() verwenden Methode.

Allerdings ist die close() Methode hat keine Wirkung in ByteArrayOutputStream Klasse. Wir können die Methoden dieser Klasse auch nach dem close() verwenden Methode aufgerufen wird.


Andere Methoden von ByteArrayOutputStream

Methoden Beschreibungen
size() gibt die Größe des Arrays im Ausgabestrom zurück
flush() löscht den Ausgabestrom

Um mehr zu erfahren, besuchen Sie Java ByteArrayOutputStream (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