Program Java untuk Menukar InputStream menjadi Array Byte

Dalam contoh ini, kita akan belajar mengubah aliran input ke array byte di Java.

Untuk memahami contoh ini, anda harus mempunyai pengetahuan mengenai topik pengaturcaraan Java berikut:

  • Kelas InputStream Java
  • Kelas Java ByteArrayInputStream
  • Kelas Java ByteArrayOutputStream

Contoh 1: Program Java untuk Menukar InputStream ke Array Byte

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

Pengeluaran

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

Dalam contoh di atas, kami telah membuat aliran input bernama stream. Perhatikan garis,

 byte() array = stream.readAllBytes();

Di sini, readAllBytes()kaedah mengembalikan semua data dari aliran dan menyimpan dalam susunan bait.

Catatan : Kami telah menggunakan Arrays.toString()kaedah untuk mengubah semua array menjadi rentetan.

Contoh 2: Tukarkan InputStream ke Array Byte menggunakan 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(); ) ) )

Pengeluaran

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

Dalam contoh di atas, kami telah membuat aliran input dari input array. Perhatikan ungkapan,

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

Di sini, semua elemen dari aliran disimpan dalam pelbagai, bermula dari indeks 0 . Kami kemudian menyimpan semua elemen array ke aliran output bernama output.

 output.write(array, 0, i)

Akhirnya, kami memanggil toByteArray()kaedah ByteArrayOutputStreamkelas, untuk menukar aliran output menjadi array bernama byte data.

Artikel menarik...