Java programma, lai InputStream pārveidotu par baitu masīvu

Šajā piemērā mēs iemācīsimies pārveidot ievades straumi Java baitu masīvā.

Lai saprastu šo piemēru, jums jāpārzina šādas Java programmēšanas tēmas:

  • Java InputStream klase
  • Java ByteArrayInputStream klase
  • Java ByteArrayOutputStream klase

1. piemērs: Java programma InputStream konvertēšanai uz baitu masīvu

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

Rezultāts

 Ievades straume: java.io.ByteArrayInputStream@27082746 baitu masīvs: (1, 2, 3, 4)

Iepriekš minētajā piemērā mēs esam izveidojuši ievades straumi ar nosaukumu straume. Ievērojiet līniju,

 byte() array = stream.readAllBytes();

Šeit readAllBytes()metode atgriež visus datus no straumes un saglabā baitu masīvā.

Piezīme . Mēs izmantojām Arrays.toString()metodi, lai visu masīvu pārveidotu par virkni.

2. piemērs: konvertējiet InputStream uz baitu masīvu, izmantojot 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(); ) ) )

Rezultāts

 Ievades straume: java.io.ByteArrayInputStream@27082746 baitu masīvs: (1, 2, 3, 4)

Iepriekš minētajā piemērā mēs esam izveidojuši ievades plūsmu no masīva ievades. Ievērojiet izteicienu,

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

Šeit visi straumes elementi tiek glabāti masīvā, sākot no 0 indeksa . Pēc tam visus masīva elementus mēs saglabājam izvades plūsmā ar nosaukumu output.

 output.write(array, 0, i)

Visbeidzot, mēs saucam par klases toByteArray()metodi ByteArrayOutputStream, lai izejas straumi pārveidotu par baitu masīvu ar nosaukumu.

Interesanti raksti...