Java ByteArrayOutputStream (з прикладами)

У цьому посібнику ми дізнаємося про Java ByteArrayOutputStream та її методи за допомогою прикладів.

ByteArrayOutputStreamКлас java.ioпакета може бути використаний для запису масиву вихідних даних (в байтах).

Це розширює OutputStreamабстрактний клас.

Примітка : In ByteArrayOutputStreamпідтримує внутрішній масив байтів для зберігання даних.

Створіть ByteArrayOutputStream

Для того, щоб створити вихідний потік масиву байтів, java.io.ByteArrayOutputStreamспочатку потрібно імпортувати пакет. Як тільки ми імпортуємо пакет, ось як ми можемо створити вихідний потік.

 // Creates a ByteArrayOutputStream with default size ByteArrayOutputStream out = new ByteArrayOutputStream(); 

Тут ми створили вихідний потік, який буде записувати дані в масив байтів із розміром за замовчуванням 32 байти. Однак ми можемо змінити розмір масиву за замовчуванням.

 // Creating a ByteArrayOutputStream with specified size ByteArrayOutputStream out = new ByteArrayOutputStream(int size); 

Тут розмір визначає довжину масиву.

Методи ByteArrayOutputStream

ByteArrayOutputStreamКлас забезпечує реалізацію різних методів , присутніх в OutputStreamкласі.

метод write ()

  • write(int byte) - записує вказаний байт у вихідний потік
  • write(byte() array) - записує байти із зазначеного масиву у вихідний потік
  • write(byte() arr, int start, int length) - записує кількість байт, рівну довжині, у вихідний потік з масиву, починаючи з початку позиції
  • writeTo(ByteArrayOutputStream out1) - записує всі дані поточного вихідного потоку у вказаний вихідний потік

Приклад: ByteArrayOutputStream для запису даних

 import java.io.ByteArrayOutputStream; class Main ( public static void main(String() args) ( String data = "This is a line of text inside the string."; try ( // Creates an output stream ByteArrayOutputStream out = new ByteArrayOutputStream(); byte() array = data.getBytes(); // Writes data to the output stream out.write(array); // Retrieves data from the output stream in string format String streamData = out.toString(); System.out.println("Output stream: " + streamData); out.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Вихідні дані

 Вихідний потік: це рядок тексту всередині рядка. 

У наведеному вище прикладі ми створили вихідний потік масиву байтів з іменем output.

 ByteArrayOutputStream output = new ByteArrayOutputStream(); 

Для запису даних у вихідний потік ми використали write()метод.

Примітка : getBytes()Метод, який використовується в програмі, перетворює рядок у масив байтів.

Доступ до даних із ByteArrayOutputStream

  • toByteArray() - повертає масив, присутній всередині вихідного потоку
  • toString() - повертає всі дані вихідного потоку у вигляді рядка

Наприклад,

 import java.io.ByteArrayOutputStream; class Main ( public static void main(String() args) ( String data = "This is data."; try ( // Creates an output stream ByteArrayOutputStream out = new ByteArrayOutputStream(); // Writes data to the output stream out.write(data.getBytes()); // Returns an array of bytes byte() byteData = out.toByteArray(); System.out.print("Data using toByteArray(): "); for(int i=0; i 

Output

 Data using toByteArray(): This is data. Data using toString(): This is data. 

In the above example, we have created an array of bytes to store the data returned by the toByteArray() method.

We then have used the for loop to access each byte from the array. Here, each byte is converted into the corresponding character using typecasting.

close() Method

To close the output stream, we can use the close() method.

However, the close() method has no effect in ByteArrayOutputStream class. We can use the methods of this class even after the close() method is called.

Other Methods of ByteArrayOutputStream

Методи Описи
size() повертає розмір масиву у вихідному потоці
flush() очищає вихідний потік

To learn more, visit Java ByteArrayOutputStream (official Java documentation).

Цікаві статті...