Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> java

Класс Java ByteArrayOutputStream

Класс Java ByteArrayOutputStream

В этом руководстве мы узнаем о Java ByteArrayOutputStream и его методах с помощью примеров.

ByteArrayOutputStream класс java.io package можно использовать для записи массива выходных данных (в байтах).

Он расширяет OutputStream абстрактный класс.

Примечание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 класс.

Метод записи()

Пример: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 stream: This is a line of text inside the string.

В приведенном выше примере мы создали поток вывода массива байтов с именем output. .

ByteArrayOutputStream output = new ByteArrayOutputStream();

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

Примечание :getBytes() метод, используемый в программе, преобразует строку в массив байтов.

<час>

Доступ к данным из ByteArrayOutputStream

Например,

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<byteData.length; i++) {
        System.out.print((char)byteData[i]);
      }

      // Returns a string
      String stringData = out.toString();
      System.out.println("\nData using toString(): " + stringData);

      out.close();
    }

    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

Вывод

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

В приведенном выше примере мы создали массив байтов для хранения данных, возвращаемых функцией toByteArray(). метод.

Затем мы использовали цикл for для доступа к каждому байту из массива. Здесь каждый байт преобразуется в соответствующий символ с помощью приведения типов.

<час>

Метод close()

Чтобы закрыть поток вывода, мы можем использовать close() метод.

Однако close() метод не действует в ByteArrayOutputStream учебный класс. Мы можем использовать методы этого класса даже после close() вызывается метод.

<час>

Другие методы ByteArrayOutputStream

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

Чтобы узнать больше, посетите страницу Java ByteArrayOutputStream (официальная документация по Java).


java

  1. Окончательное ключевое слово Java
  2. Оператор экземпляра Java
  3. Наследование Java
  4. Вложенный статический класс Java
  5. Анонимный класс Java
  6. Одноэлементный класс Java
  7. Java-отражение
  8. Класс Java ObjectOutputStream
  9. Дженерики Java
  10. Класс файла Java