Класс ByteArrayOutputStream
- Все реализуемые интерфейсы:
Closeable, Flushable, AutoCloseable
public class ByteArrayOutputStream extends OutputStream
toByteArray() и toString(). Закрытие ByteArrayOutputStream не оказывает никакого эффекта. Методы этого класса можно вызывать после закрытия потока, не вызывая IOException.
- С версии:
- 1.0
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected byte[] |
buf |
Буфер, в котором хранятся данные. |
protected int |
count |
Количество допустимых байтов в буфере. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
ByteArrayOutputStream() |
Создает новый ByteArrayOutputStream. |
ByteArrayOutputStream |
Создает новый ByteArrayOutputStream с буфером заданного размера в байтах. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
close() |
Закрытие ByteArrayOutputStream не оказывает никакого эффекта. |
void |
reset() |
Сбрасывает поле count этого ByteArrayOutputStream в ноль, удаляя все данные, накопленные в выходном потоке. |
int |
size() |
Возвращает текущий размер буфера. |
byte[] |
toByteArray() |
Создает новый массив байтов. |
String |
toString() |
Преобразует содержимое буфера в строку, декодируя байты с использованием кодировки по умолчанию. |
String |
toString |
Устарело. Этот метод некорректно преобразует байты в символы. |
String |
toString |
Преобразует содержимое буфера в строку, декодируя байты с использованием именованной charset. |
String |
toString |
Преобразует содержимое буфера в строку, декодируя байты с использованием указанной charset. |
void |
write |
Записывает len байтов из указанного массива байтов, начиная со смещения off, в этот ByteArrayOutputStream. |
void |
write |
Записывает указанный байт в этот ByteArrayOutputStream. |
void |
writeBytes |
Записывает все содержимое указанного массива байтов в этот ByteArrayOutputStream. |
void |
writeTo |
Записывает все содержимое этого ByteArrayOutputStream в указанный аргумент — выходной поток, как если бы был вызван метод записи выходного потока с использованием out.write(buf, 0, count). |
Методы, объявленные в классе OutputStream
flush, nullOutputStream, write | Модификатор и тип | Метод | Описание |
|---|---|---|
void |
flush() |
Очищает этот выходной поток и принудительно записывает все байты из буфера. |
static OutputStream |
nullOutputStream() |
Возвращает новый OutputStream, который отбрасывает все байты. |
void |
write |
Записывает b.length байтов из указанного массива байтов в этот выходной поток. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Показывает, равен ли этот объект какому-либо другому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API может быть удален в будущей версии. Финализация устарела и подлежит удалению в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения заданного промежутка реального времени. |
Подробное описание полей
buf
protected byte[] buf
count
protected int count
Подробное описание конструкторов
ByteArrayOutputStream
public ByteArrayOutputStream()
ByteArrayOutputStream. Начальная емкость буфера составляет 32 байта, но при необходимости его размер увеличивается.ByteArrayOutputStream
public ByteArrayOutputStream(int size)
ByteArrayOutputStream с буфером заданного размера в байтах.- Параметры:
-
size— начальный размер. - Исключения:
-
IllegalArgumentException— если размер отрицательный.
Подробное описание методов
write
public void write(int b)
ByteArrayOutputStream.- Определено в:
-
writeв классеOutputStream - Параметры:
-
b— байт для записи.
write
public void write(byte[] b, int off, int len)
len байтов из указанного массива байтов, начиная со смещения off, в этот ByteArrayOutputStream.- Переопределяет:
-
writeв классеOutputStream - Параметры:
-
b— данные. -
off— начальное смещение в данных. -
len— количество байтов для записи. - Исключения:
-
NullPointerException— еслиbравноnull. -
IndexOutOfBoundsException— еслиoffотрицательно,lenотрицательно илиlenбольшеb.length - off
writeBytes
public void writeBytes(byte[] b)
ByteArrayOutputStream.- Примечание API:
- Этот метод эквивалентен
write(b, 0, b.length). - Параметры:
-
b— данные. - Исключения:
-
NullPointerException— еслиbравноnull. - С версии:
- 11
writeTo
public void writeTo(OutputStream out) throws IOException
ByteArrayOutputStream в указанный аргумент — выходной поток, как если бы был вызван метод записи выходного потока с использованием out.write(buf, 0, count).- Параметры:
-
out— выходной поток, в который нужно записать данные. - Исключения:
-
NullPointerException— еслиoutравноnull. -
IOException— если произошла ошибка ввода-вывода.
reset
public void reset()
count этого ByteArrayOutputStream в ноль, удаляя все данные, накопленные в выходном потоке. Выходной поток можно использовать повторно, задействовав уже выделенное пространство буфера.- См. также:
toByteArray
public byte[] toByteArray()
- Возвращает:
- текущее содержимое этого выходного потока в виде массива байтов.
- См. также:
size
public int size()
- Возвращает:
- значение поля
count, то есть количество допустимых байтов в этом выходном потоке. - См. также:
toString
public String toString()
String зависит от кодировки и поэтому может не совпадать с размером буфера. Этот метод всегда заменяет некорректные входные данные и последовательности символов, которые невозможно отобразить, строкой замены по умолчанию для кодировки по умолчанию. Если требуется больший контроль над процессом декодирования, следует использовать класс CharsetDecoder.
toString
public String toString(String charsetName) throws UnsupportedEncodingException
charset. Этот метод эквивалентен #toString(charset), принимающему charset.
Вызов этого метода в следующей форме
ByteArrayOutputStream b;
b.toString("UTF-8")
ByteArrayOutputStream b;
b.toString(StandardCharsets.UTF_8)
- Параметры:
-
charsetName— имя поддерживаемойcharset - Возвращает:
- строку, декодированную из содержимого буфера.
- Исключения:
-
UnsupportedEncodingException— если указанная кодировка не поддерживается - С версии:
- 1.1
toString
public String toString(Charset charset)
charset. Длина новой String зависит от кодировки и поэтому может не совпадать с длиной массива байтов. Этот метод всегда заменяет некорректные входные данные и последовательности символов, которые невозможно отобразить, строкой замены по умолчанию для кодировки. Если требуется больший контроль над процессом декодирования, следует использовать класс CharsetDecoder.
- Параметры:
-
charset— кодировка, используемая для декодированияbytes - Возвращает:
- строку, декодированную из содержимого буфера.
- С версии:
- 10
toString
@Deprecated public String toString(int hibyte)
toString(String charsetName) или toString(Charset charset), принимающий имя кодировки или аргумент charset, либо метод toString(), использующий кодировку по умолчанию. c == (char)(((hibyte & 0xff) << 8) | (b & 0xff))
- Параметры:
-
hibyte— старший байт каждого результирующего символа Unicode. - Возвращает:
- текущее содержимое выходного потока в виде строки.
- См. также:
close
public void close() throws IOException
ByteArrayOutputStream не оказывает никакого эффекта. Методы этого класса можно вызывать после закрытия потока, не вызывая IOException.- Определено в:
-
closeв интерфейсеAutoCloseable - Определено в:
-
closeв интерфейсеCloseable - Переопределяет:
-
closeв классеOutputStream - Исключения:
-
IOException— если произошла ошибка ввода-вывода.
© 1993, 2025, 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.