„Java“ programa, skirta konvertuoti „InputStream“ į baitų masyvą

Šiame pavyzdyje mes išmoksime konvertuoti įvesties srautą į „Java“ baitų masyvą.

Norėdami suprasti šį pavyzdį, turite žinoti šias Java programavimo temas:

  • „Java InputStream“ klasė
  • „Java ByteArrayInputStream“ klasė
  • „Java ByteArrayOutputStream“ klasė

1 pavyzdys: „Java“ programa konvertuoti „InputStream“ į baitų masyvą

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

Rezultatas

 Įvesties srautas: java.io.ByteArrayInputStream@27082746 baitų masyvas: (1, 2, 3, 4)

Ankstesniame pavyzdyje mes sukūrėme įvesties srautą, pavadintą srautu. Atkreipkite dėmesį į eilutę,

 byte() array = stream.readAllBytes();

Čia readAllBytes()metodas grąžina visus duomenis iš srauto ir saugo baitų masyve.

Pastaba : Mes panaudojome Arrays.toString()metodą, kad visą masyvą paverstume eilute.

2 pavyzdys: konvertuokite „InputStream“ į baitų masyvą naudodami išvesties srautą

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

Rezultatas

 Įvesties srautas: java.io.ByteArrayInputStream@27082746 baitų masyvas: (1, 2, 3, 4)

Ankstesniame pavyzdyje mes sukūrėme įvesties srautą iš masyvo įvesties. Atkreipkite dėmesį į išraišką,

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

Čia visi srauto elementai saugomi masyve, pradedant nuo indekso 0 . Tada visus masyvo elementus saugome išvesties sraute, pavadintame išvestimi.

 output.write(array, 0, i)

Galiausiai mes vadiname klasės toByteArray()metodą, ByteArrayOutputStreamkad išvesties srautas būtų konvertuojamas į baitų masyvą, pavadintą duomenimis.

Įdomios straipsniai...