Класс ByteArrayOutputStream
- Все реализуемые интерфейсы:
-
Closeable,Flushable,AutoCloseable
public class ByteArrayOutputStream extends OutputStream
toByteArray() и toString(). Закрытие потока вывода не оказывает никакого влияния. Методы этого класса можно вызывать после закрытия потока без генерации исключения IOException.
- С тех пор:
- 1.0
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected byte[] |
buf |
Буфер, в котором хранятся данные. |
protected int |
count |
Количество допустимых байтов в буфере. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
ByteArrayOutputStream() |
Создает новый поток вывода. |
ByteArrayOutputStream |
Создает новый поток вывода с буфером заданного размера в байтах. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
close() |
Закрытие потока вывода не оказывает никакого влияния. |
void |
reset() |
Сбрасывает поле count этого потока вывода в ноль, тем самым удаляя все накопленные данные в потоке. |
int |
size() |
Возвращает текущий размер буфера. |
byte[] |
toByteArray() |
Создает новый массив байтов. |
String |
toString() |
Преобразует содержимое буфера в строку, декодируя байты с помощью кодировки по умолчанию. |
String |
toString |
Устарело. Этот метод некорректно преобразует байты в символы. |
String |
toString |
Преобразует содержимое буфера в строку, декодируя байты с помощью указанной кодировки charset. |
String |
toString |
Преобразует содержимое буфера в строку, декодируя байты с помощью указанной кодировки charset. |
void |
write |
Записывает len байтов из указанного массива байтов, начиная с смещения off, в этот поток вывода. |
void |
write |
Записывает указанный байт в этот поток вывода. |
void |
writeBytes |
Записывает все содержимое указанного массива байтов в этот поток вывода. |
void |
writeTo |
Записывает все содержимое этого потока вывода в указанный поток вывода, как если бы вызывался метод write указанного потока вывода с использованием out.write(buf, 0, count). |
Методы, унаследованные от класса java.io.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 в указанный поток вывода, как если бы вызывали метод write потока вывода с использованием 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/io/ByteArrayOutputStream.html