I dette eksemplet vil vi lære å konvertere en inngangsstrøm til byte-arrayet i Java.
For å forstå dette eksemplet, bør du ha kunnskap om følgende Java-programmeringsemner:
- Java InputStream-klasse
- Java ByteArrayInputStream-klasse
- Java ByteArrayOutputStream-klasse
Eksempel 1: Java-program for å konvertere InputStream til 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(); ) ) )
Produksjon
Inngangsstrøm: java.io.ByteArrayInputStream@27082746 Byte Array: (1, 2, 3, 4)
I eksemplet ovenfor har vi opprettet en inngangsstrøm som heter stream. Legg merke til linjen,
byte() array = stream.readAllBytes();
Her readAllBytes()
returnerer metoden alle dataene fra strømmen og lagrer i byte-arrayet.
Merk : Vi har brukt Arrays.toString()
metoden for å konvertere hele matrisen til en streng.
Eksempel 2: Konverter InputStream til Byte Array ved hjelp av Output Stream
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(); ) ) )
Produksjon
Inngangsstrøm: java.io.ByteArrayInputStream@27082746 Byte Array: (1, 2, 3, 4)
I eksemplet ovenfor har vi opprettet en inngangsstrøm fra arrayinngangen. Legg merke til uttrykket,
stream.read(array, 0, array.length)
Her lagres alle elementene fra stream i array, fra indeks 0 . Vi lagrer deretter alle elementene i matrisen til utgangsstrømmen som heter output.
output.write(array, 0, i)
Til slutt kaller vi toByteArray()
metoden for ByteArrayOutputStream
klassen, for å konvertere utgangsstrømmen til en byte-array med navnet data.