English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java Grundlegende Anleitung

Java-Flusssteuerung

Java-Arrays

Java-Objektorientiert(I)

Java-Objektorientiert(II)

Java-Objektorientiert(III)

Java Ausnahmebehandlung

Java Liste (Liste)

Java Queue (Warteschlange)

Java Map-Sammlung

Java Set-Sammlung

Java Eingabe-Ausgabe(I/)

Java Reader/Writer

Andere Themen von Java

Klasse Java ByteArrayOutputStream

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

Die Klasse ByteArrayOutputStream aus dem java.io-Paket kann zur Schreiboperation von Ausgabedatenarrays (in Bytes) verwendet werden.

Es erbt von der abstrakten Klasse OutputStream.

Hinweis:Ein internes Byte-Array wird in ByteArrayOutputStream verwendet, um Daten zu speichern.

Erstellen Sie einen ByteArrayOutputStream

Um einen ByteArrayOutputStream zu erstellen, müssen wir zunächst das Paket java.io.ByteArrayOutputStream importieren. Nach dem Importieren des Pakets können wir den Ausgabestrom erstellen.

//Erstellen Sie einen ByteArrayOutputStream mit der Standardgröße
ByteArrayOutputStream out = new ByteArrayOutputStream();

Hier erstellen wir einen Ausgabestrom, der Daten in eine Größe von32In einem Byte-Array. Aber wir können die Standardgröße des Arrays ändern.

//Erstellen Sie einen ByteArrayOutputStream mit der angegebenen Größe
ByteArrayOutputStream out = new ByteArrayOutputStream(int size);

Hier wird size die Länge des Arrays angegeben.

Methoden von ByteArrayOutputStream

Die Klasse ByteArrayOutputStream bietet verschiedene Methodenimplementierungen, die im OutputStream-Klassen existieren.

write() Methode

  • write(int byte) - Schreiben Sie die angegebenen Bytes in den Ausgabestrom

  • write(byte[] array) - Schreiben Sie die Bytes des angegebenen Arrays in den Ausgabestrom

  • write(byte[] arr, int start, int length)- Schreiben Sie von der Position start aus eine Anzahl von bytes der Länge length in den Ausgabestrom des Arrays

  • writeTo(ByteArrayOutputStream out1) -Schreiben Sie alle Daten des aktuellen Ausgabestroms in den angegebenen Ausgabestrom

Beispiel: Daten in ByteArrayOutputStream schreiben

import java.io.ByteArrayOutputStream;
class Main {
  public static void main(String[] args) {
    String data = "Dies ist eine Zeile von Text innerhalb der Zeichenkette.";
    try {
    //Erstellung eines Ausgabestroms
      ByteArrayOutputStream out = new ByteArrayOutputStream();
      byte[] array = data.getBytes();
      //Daten in den Ausgabestrom schreiben
      out.write(array);
      //Daten aus dem Ausgabestrom in String-Format abrufen
      String streamData = out.toString();
      System.out.println("Ausgabestrom: ", + streamData);
      out.close();
    }
    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

Ausgaberesultat

Ausgabestrom: This is a line of text inside the string.

Im obigen Beispiel haben wir einen namensgebenden Byte-Array-Ausgabestrom output erstellt.

ByteArrayOutputStream output = new ByteArrayOutputStream();

Um Daten in den Ausgabestrom zu schreiben, haben wir das write() -Verfahren verwendet.

Hinweis:Das getBytes() -Verfahren im Programm wandelt einen String in ein Byte-Array um.

Daten von ByteArrayOutputStream abrufen

  • toByteArray() - Rückgabe des im Ausgabestrom vorhandenen Arrays

  • toString() - Rückgabe der gesamten Daten des Ausgabestroms in Form eines Strings

Beispielsweise,

import java.io.ByteArrayOutputStream;
class Main {
  public static void main(String[] args) {
    String data = "This is data.";
    try {
      //Erstellung des Ausgabestroms
      ByteArrayOutputStream out = new ByteArrayOutputStream();
      //Daten in den Ausgabestrom schreiben
      out.write(data.getBytes());
      //Rückgabe eines Byte-Arrays
      byte[] byteData = out.toByteArray();
      System.out.print("Verwenden Sie toByteArray() der Daten: ",
      for(int i=0; i<byteData.length; i++) {
        System.out.print((char)byteData[i]);
      }
      //Rückgabe eines Strings
      String stringData = out.toString();
      System.out.println("\nVerwenden Sie toString() der Daten: ", + stringData);
      out.close();
    }
    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

Ausgaberesultat

Verwendete toByteArray()-Daten: This is data.
Verwendete toString()-Daten: This is data.

Im obigen Beispiel haben wir einen Byte-Array erstellt, um die Daten zurückzugeben, die von der Methode toByteArray() erhalten werden.

Dann verwenden wir einen for-Loop, um jeden Byte im Array abzuarbeiten. Hierbei wird jeder Byte in den entsprechenden Zeichen umgewandelt.

close()-Methode

Um den Output Stream zu schließen, können wir die close()-Methode verwenden.

Allerdings ist die close()-Methode in der Klasse ByteArrayOutputStream ungültig. Selbst wenn die close()-Methode aufgerufen wird, können wir die Methoden dieses Klassen verwenden.

Andere Methoden von ByteArrayOutputStream

MethodeInhaltsbeschreibung
size()Größe des Arrays im Output Stream zurückgeben
flush()Output Stream leeren