Класс 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 в указанный поток вывода, как если бы вызывали метод 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в классеObject - Возвращает:
- Строка, декодированная из содержимого буфера.
- С:
- 1.1
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, 2021, 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/17/docs/api/java.base/java/io/ByteArrayOutputStream.html