English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In diesem Beispiel werden wir lernen, wie man einen Eingabestrom in ein Byte-Array in Java umwandelt.
Um diesen Beispiel zu verstehen, sollten Sie die folgenden Kenntnisse habenJava-ProgrammThema:}}
import java.io.InputStream; import java.util.Arrays; import java.io.ByteArrayInputStream; public class Main { public static void main(String args[]) { try { //Einen Eingabestrom erstellen byte[] input = {1, 2, 3, 4}; InputStream stream = new ByteArrayInputStream(input); System.out.println("Input Stream: " + stream); //Die Eingabestrom wird in ein Byte-Array umgewandelt byte[] array = stream.readAllBytes(); System.out.println("Byte-Array: " + Arrays.toString(array)); stream.close(); } catch (Exception e) { e.getStackTrace(); } } }
Ausgaberesultat
Input Stream: java.io.ByteArrayInputStream@27082746 Byte-Array: [1, 2, 3, 4]
Im obigen Beispiel haben wir einen Eingabestrom stream (InputStream) erstellt. Beachten Sie diese Zeile,
byte[] array = stream.readAllBytes();
Hier gibt die Methode readAllBytes() alle Daten aus dem Strom zurück und speichert sie in einem Byte-Array.
Hinweis:Wir haben die Methode Arrays.toString() verwendet, um das gesamte Array in einen String umzuwandeln.
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 { //Einen Eingabestrom erstellen byte[] input = {1, 2, 3, 4}; InputStream stream = new ByteArrayInputStream(input); System.out.println("Input Stream: " + stream); //Ein Ausgabestrom wird erstellt ByteArrayOutputStream output = new ByteArrayOutputStream(); //Ein Byte-Array wird erstellt, um den Eingabestrom zu speichern byte[] array = new byte[4]; int i; //Alle Daten aus dem Eingabestrom in das Array lesen while ((i = stream.read(array, 0, array.length)) != -1) { //Alle Daten im Array werden in die Ausgabe geschrieben output.write(array, 0, i); } byte[] data = output.toByteArray(); //Die Eingabestrom wird in ein Byte-Array umgewandelt System.out.println("Byte Array: ") + Arrays.toString(data)); stream.close(); } catch (Exception e) { e.getStackTrace(); } } }
Ausgaberesultat
Input Stream: java.io.ByteArrayInputStream@27082746 Byte Array: [1, 2, 3, 4]
Im obigen Beispiel erstellen wir einen Eingabestrom input aus array. Beachten Sie den Ausdruck
stream.read(array, 0, array.length)
Hier werden alle Elemente des Stroms im Array gespeichert, beginnend mit Index 0. Dann speichern wir alle Elemente des Arrays in den Ausgabestrom namens output.
output.write(array, 0, i)
Schließlich rufen wir die Methode toByteArray() der Klasse ByteArrayOutputStream auf, um den Ausgabestrom in ein Byte-Array namens data zu konvertieren.