Јава програм за претварање ИнпутСтреам-а у бајтни низ

У овом примеру ћемо научити да претворимо улазни ток у бајтни низ у Јави.

Да бисте разумели овај пример, требало би да имате знање о следећим темама програмирања Јава:

  • Јава ИнпутСтреам класа
  • Јава БитеАрраиИнпутСтреам класа
  • Јава БитеАрраиОутпутСтреам класа

Пример 1: Јава програм за претварање ИнпутСтреам у бајтни низ

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

Оутпут

 Улазни ток: јава.ио.БитеАрраиИнпутСтреам@27082746 Низ бајтова: (1, 2, 3, 4)

У горњем примеру смо креирали улазни ток под називом стреам. Обратите пажњу на линију,

 byte() array = stream.readAllBytes();

Овде readAllBytes()метода враћа све податке из тока и чува их у бајт-пољу.

Напомена : Методу смо Arrays.toString()претворили читав низ у низ.

Пример 2: Претворите ИнпутСтреам у бајтни низ помоћу излазног тока

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

Оутпут

 Улазни ток: јава.ио.БитеАрраиИнпутСтреам@27082746 Низ бајтова: (1, 2, 3, 4)

У горњем примеру створили смо улазни ток од улаза низа. Примети израз,

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

Овде су сви елементи из тока смештени у низ, почевши од индекса 0 . Затим смештамо све елементе низа у излазни ток под називом оутпут.

 output.write(array, 0, i)

Коначно, позивамо toByteArray()метод ByteArrayOutputStreamкласе, да претворимо излазни ток у бајт низ са подацима.

Занимљиви Чланци...