Класс BufferedOutputStream
- java.lang.Object
-
- java.io.OutputStream
-
- java.io.FilterOutputStream
-
- java.io.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) |
Записывает |
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