Класс BufferedOutputStream

Все реализованные интерфейсы:
Closeable, Flushable, AutoCloseable
public class BufferedOutputStream
extends FilterOutputStream

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

С:
1.0

Поля

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

Внутренний буфер, где хранятся данные.

protected int count

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

Поля, объявленные в классе java.io.FilterOutputStream

out

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

Конструктор Описание
BufferedOutputStream​(OutputStream out)

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

BufferedOutputStream​(OutputStream out, int size)

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

Методы

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

Очищает этот буферизованный поток вывода.

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

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

void write​(int b)

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

Методы, объявленные в классе java.io.FilterOutputStream

close, write

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

nullOutputStream

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

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

Поля

buf

protected byte[] buf

Внутренний буфер, где хранятся данные.

count

protected int count

Количество действительных байтов в буфере. Это значение всегда находится в диапазоне 0 до buf.length; элементы buf[0] до buf[count-1] содержат действительные данные байтов.

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

BufferedOutputStream

public BufferedOutputStream(OutputStream out)

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

Параметры:
out - базовый поток вывода.

BufferedOutputStream

public BufferedOutputStream(OutputStream out,
                            int size)

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

Параметры:
out - базовый поток вывода.
size - размер буфера.
Исключения:
IllegalArgumentException - если размер <= 0.

Методы

write

public void write(int b)
           throws IOException

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

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

write

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

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

Обычно этот метод записывает байты из данного массива в буфер потока, очищая буфер в базовый поток вывода по мере необходимости. Однако, если запрашиваемая длина не меньше размера буфера этого потока, этот метод очистит буфер и запишет байты непосредственно в базовый поток вывода. Таким образом, избыточные BufferedOutputStream не будут копировать данные ненужным образом.

Переопределяет:
write в классе FilterOutputStream
Параметры:
b - данные.
off - начальное смещение в данных.
len - количество байтов для записи.
Исключения:
IOException - если произошла ошибка ввода-вывода.
См. также:
FilterOutputStream.write(int)

flush

public void flush()
           throws IOException

Очищает этот буферизованный поток вывода. Это принудительно записывает все буферизованные байты вывода в базовый поток вывода.

Определено в:
flush в интерфейсе Flushable
Переопределяет:
flush в классе FilterOutputStream
Исключения:
IOException - если произошла ошибка ввода-вывода.
См. также:
FilterOutputStream.out

© 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/BufferedOutputStream.html

Spec-Zone .ru
спецификации, руководства, описания, API