Spec-Zone.ru › OpenJDK 8

Класс ByteArrayOutputStream

  • java.lang.Object
    • java.io.OutputStream
      • java.io.ByteArrayOutputStream
Все реализованные интерфейсы:
Closeable, Flushable, AutoCloseable

public class ByteArrayOutputStream
extends OutputStream

Этот класс реализует выходной поток, в котором данные записываются в массив байтов. Буфер автоматически увеличивается по мере записи данных в него. Данные могут быть получены с помощью toByteArray() и toString().

Закрытие ByteArrayOutputStream не имеет эффекта. Методы в этом классе могут быть вызваны после закрытия потока без генерации IOException.

С:
JDK1.0

Поля

Модификатор и тип Поле и описание
protected byte[] buf

Буфер, в котором хранятся данные.

protected int count

Количество допустимых байтов в буфере.

Конструкторы

Конструктор и описание
ByteArrayOutputStream()

Создаёт новый выходной поток массива байтов.

ByteArrayOutputStream(int size)

Создаёт новый выходной поток массива байтов с ёмкостью буфера заданного размера в байтах.

Методы

Модификатор и тип Метод и описание
void close()

Закрытие ByteArrayOutputStream не имеет эффекта.

void reset()

Сбрасывает поле count этого выходного потока массива байтов в ноль, таким образом, все текущие накопленные данные в выходном потоке удаляются.

int size()

Возвращает текущий размер буфера.

byte[] toByteArray()

Создаёт новый выделенный массив байтов.

String toString()

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

String toString(int hibyte)

Устаревший.

Этот метод не правильно преобразует байты в символы. Начиная с JDK 1.1, предпочтительный способ сделать это — через метод toString(String enc), который принимает аргумент имени кодировки, или метод toString(), который использует кодировку символов по умолчанию платформы.

String toString(String charsetName)

Преобразует содержимое буфера в строку, декодируя байты с помощью указанной charset.

void write(byte[] b, int off, int len)

Записывает len байта из указанного массива байтов, начиная с смещения off, в этот выходной поток массива байтов.

void write(int b)

Записывает указанный байт в этот выходной поток массива байтов.

void writeTo(OutputStream out)

Записывает всё содержимое этого выходного потока массива байтов в указанный выходной поток, как если бы вызывали метод write выходного потока с использованием out.write(buf, 0, count).

Методы, унаследованные от класса java.io.OutputStream

flush, write

Методы, унаследованные от класса java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Подробное описание полей

buf

protected byte[] buf

Буфер, в котором хранятся данные.

count

protected int count

Количество допустимых байтов в буфере.

Подробное описание конструкторов

ByteArrayOutputStream

public ByteArrayOutputStream()

Создаёт новый выходной поток массива байтов. Емкость буфера изначально составляет 32 байта, хотя её размер увеличивается при необходимости.

ByteArrayOutputStream

public ByteArrayOutputStream(int size)

Создаёт новый выходной поток массива байтов с ёмкостью буфера заданного размера в байтах.

Параметры:
size - начальный размер.
Исключения:
IllegalArgumentException - если размер отрицательный.

Подробное описание методов

write

public void write(int b)

Записывает указанный байт в этот выходной поток массива байтов.

Задано:
write в классе OutputStream
Параметры:
b - байт для записи.

write

public void write(byte[] b,
                  int off,
                  int len)

Записывает len байта из указанного массива байтов, начиная со смещения off, в этот выходной поток массива байтов.

Переопределено:
write в классе OutputStream
Параметры:
b - данные.
off - начальное смещение в данных.
len - количество байтов для записи.

writeTo

public void writeTo(OutputStream out)
             throws IOException

Записывает всё содержимое этого выходного потока массива байтов в указанный выходной поток, как если бы вызывали метод write выходного потока с использованием out.write(buf, 0, count).

Параметры:
out - выходной поток, в который записывать данные.
Исключения:
IOException - если происходит ошибка ввода-вывода.

reset

public void reset()

Сбрасывает поле count этого выходного потока массива байтов в ноль, таким образом, все текущие накопленные данные в выходном потоке удаляются. Выходной поток может быть использован повторно, используя уже выделенное пространство буфера.

См. также:
ByteArrayInputStream.count

toByteArray

public byte[] toByteArray()

Создаёт новый выделенный массив байтов. Его размер равен текущему размеру этого выходного потока, и валидное содержимое буфера было скопировано в него.

Возвращает:
текущее содержимое этого выходного потока в виде массива байтов.
См. также:
size()

size

public int size()

Возвращает текущий размер буфера.

Возвращает:
значение поля count, которое является количеством допустимых байтов в этом выходном потоке.
См. также:
count

toString

public String toString()

Преобразует содержимое буфера в строку, декодируя байты с помощью кодовой таблицы символов по умолчанию платформы. Длина новой String является функцией кодовой таблицы символов и, следовательно, может не совпадать с размером буфера.

Этот метод всегда заменяет некорректные входные данные и последовательности символов, не поддающиеся отображению, строкой замены по умолчанию для кодовой таблицы символов по умолчанию платформы. Класс CharsetDecoder следует использовать, если требуется больший контроль над процессом декодирования.

Переопределено:
toString в классе Object
Возвращает:
Строка, декодированная из содержимого буфера.
С:
JDK1.1

toString

public String toString(String charsetName)
                throws UnsupportedEncodingException

Преобразует содержимое буфера в строку, декодируя байты с помощью указанной charset. Длина новой String является функцией кодовой таблицы символов и, следовательно, может не совпадать с длиной массива байтов.

Этот метод всегда заменяет некорректные входные данные и последовательности символов, не поддающиеся отображению, строкой замены по умолчанию для этой кодовой таблицы символов. Класс CharsetDecoder следует использовать, если требуется больший контроль над процессом декодирования.

Параметры:
charsetName - имя поддерживаемой charset
Возвращает:
Строка, декодированная из содержимого буфера.
Исключения:
UnsupportedEncodingException - Если указанная кодовая таблица символов не поддерживается
С:
JDK1.1

toString

@Deprecated
public String toString(int hibyte)

Устаревший. Этот метод не правильно преобразует байты в символы. Начиная с JDK 1.1, предпочтительный способ сделать это — через метод toString(String enc) , который принимает аргумент имени кодировки, или метод toString() , который использует кодировку символов по умолчанию платформы.

Создаёт новый выделенный строковый объект. Его размер равен текущему размеру выходного потока, и валидное содержимое буфера было скопировано в него. Каждый символ c в результирующей строке создаётся из соответствующего элемента b в массиве байтов таким образом:

c == (char)(((hibyte & 0xff) << 8) | (b & 0xff))

Параметры:
hibyte - старший байт каждого результирующего символа Юникод.
Возвращает:
текущее содержимое выходного потока в виде строки.
См. также:
size(), toString(String), toString()

close

public void close()
           throws IOException

Закрытие ByteArrayOutputStream не имеет эффекта. Методы в этом классе могут быть вызваны после закрытия потока без генерации IOException.

Задано:
close в интерфейсе Closeable
Задано:
close в интерфейсе AutoCloseable
Переопределено:
close в классе OutputStream
Исключения:
IOException - если происходит ошибка ввода-вывода.

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API