Java-program til at konvertere InputStream til Byte Array

I dette eksempel lærer vi at konvertere en inputstrøm til byte-arrayet i Java.

For at forstå dette eksempel skal du have kendskab til følgende Java-programmeringsemner:

  • Java InputStream-klasse
  • Java ByteArrayInputStream-klasse
  • Java ByteArrayOutputStream-klasse

Eksempel 1: Java-program til at 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(); ) ) )

Produktion

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

I ovenstående eksempel har vi oprettet en inputstrøm med navnet stream. Bemærk linjen,

 byte() array = stream.readAllBytes();

Her readAllBytes()returnerer metoden alle data fra strømmen og gemmes i byte-arrayet.

Bemærk : Vi har brugt Arrays.toString()metoden til at konvertere hele arrayet til en streng.

Eksempel 2: Konverter InputStream til Byte Array ved hjælp af 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(); ) ) )

Produktion

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

I ovenstående eksempel har vi oprettet en inputstrøm fra array-input. Bemærk udtrykket,

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

Her er alle elementer fra stream lagret i array startende fra index 0 . Vi gemmer derefter alle elementerne i array til outputstrømmen med navnet output.

 output.write(array, 0, i)

Endelig kalder vi toByteArray()metoden til ByteArrayOutputStreamklassen for at konvertere outputstrømmen til et byte-array med navnet data.

Interessante artikler...