Класс 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
Подробное описание полей
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), принимающий аргумент с именем кодировки или объектом кодировки, либо метод 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/ByteArrayOutputStream.html