Java program az InputStream átalakításához byte tömbdé

Ebben a példában megtanuljuk átalakítani a bemeneti adatfolyamot a Java bájt tömbjévé.

A példa megértéséhez ismernie kell a következő Java programozási témákat:

  • Java InputStream osztály
  • Java ByteArrayInputStream osztály
  • Java ByteArrayOutputStream osztály

1. példa: Java program az InputStream átalakítására bájt tömbre

 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(); ) ) )

Kimenet

 Bemeneti adatfolyam: java.io.ByteArrayInputStream@27082746 bájt tömb: (1, 2, 3, 4)

A fenti példában létrehoztunk egy stream nevű bemeneti adatfolyamot. Jegyezze fel a sort,

 byte() array = stream.readAllBytes();

Itt a readAllBytes()metódus visszaküldi az adatfolyam összes adatát, és a bájt tömbben tárolja.

Megjegyzés : A Arrays.toString()metódus segítségével az egész tömböt karakterláncokká alakítottuk át.

2. példa: Az InputStream konvertálása Byte Array-ba konvertálásra az Output Stream használatával

 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(); ) ) )

Kimenet

 Bemeneti adatfolyam: java.io.ByteArrayInputStream@27082746 bájt tömb: (1, 2, 3, 4)

A fenti példában létrehoztunk egy bemeneti folyamot a tömb bemenetéből. Figyelje meg a kifejezést,

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

Itt a stream minden elemét tömbben tároljuk, a 0 indextől kezdve . Ezután a tömb összes elemét a kimenet nevű kimeneti adatfolyamba tároljuk.

 output.write(array, 0, i)

Végül meghívjuk toByteArray()az ByteArrayOutputStreamosztály metódusát , hogy a kimeneti adatfolyamot bájtos tömbgé alakítsuk át adatokká.

érdekes cikkek...