Java-Programm zum Konvertieren des InputStream in ein Byte-Array

In diesem Beispiel lernen wir, einen Eingabestream in das Byte-Array in Java zu konvertieren.

Um dieses Beispiel zu verstehen, sollten Sie die folgenden Java-Programmierthemen kennen:

  • Java InputStream-Klasse
  • Java ByteArrayInputStream-Klasse
  • Java ByteArrayOutputStream-Klasse

Beispiel 1: Java-Programm zum Konvertieren von InputStream in Byte-Array

 import java.io.InputStream; import java.util.Arrays; import java.io.ByteArrayInputStream; public class Main ( public static void main(String args()) ( try ( // create an input stream byte() input = (1, 2, 3, 4); InputStream stream = new ByteArrayInputStream(input); System.out.println("Input Stream: " + stream); // convert the input stream to byte array byte() array = stream.readAllBytes(); System.out.println("Byte Array: " + Arrays.toString(array)); stream.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) )

Ausgabe

 Eingabestream: java.io.ByteArrayInputStream@27082746 Byte-Array: (1, 2, 3, 4)

Im obigen Beispiel haben wir einen Eingabestream mit dem Namen stream erstellt. Beachten Sie die Zeile,

 byte() array = stream.readAllBytes();

Hier gibt die readAllBytes()Methode alle Daten aus dem Stream zurück und speichert sie im Byte-Array.

Hinweis : Wir haben die Arrays.toString()Methode verwendet, um das gesamte Array in eine Zeichenfolge zu konvertieren.

Beispiel 2: Konvertieren Sie InputStream mithilfe des Ausgabestreams in ein Byte-Array

 import java.io.InputStream; import java.util.Arrays; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; public class Main ( public static void main(String args()) ( try ( // create an input stream byte() input = (1, 2, 3, 4); InputStream stream = new ByteArrayInputStream(input); System.out.println("Input Stream: " + stream); // create an output stream ByteArrayOutputStream output = new ByteArrayOutputStream(); // create a byte array to store input stream byte() array = new byte(4); int i; // read all data from input stream to array while ((i = stream.read(array, 0, array.length)) != -1) ( // write all data from array to output output.write(array, 0, i); ) byte() data = output.toByteArray(); // convert the input stream to byte array System.out.println("Byte Array: " + Arrays.toString(data)); stream.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) )

Ausgabe

 Eingabestream: java.io.ByteArrayInputStream@27082746 Byte-Array: (1, 2, 3, 4)

Im obigen Beispiel haben wir einen Eingabestream aus der Array-Eingabe erstellt. Beachten Sie den Ausdruck,

 stream.read(array, 0, array.length)

Hier werden alle Elemente aus dem Stream ab Index 0 im Array gespeichert . Wir speichern dann alle Elemente des Arrays im Ausgabestream mit dem Namen output.

 output.write(array, 0, i)

Schließlich rufen wir die toByteArray()Methode der ByteArrayOutputStreamKlasse auf, um den Ausgabestream in ein Byte-Array mit dem Namen data zu konvertieren.

Interessante Beiträge...