Класс BufferedOutputStream
- java.lang.Object
-
- java.io.OutputStream
-
- java.io.FilterOutputStream
-
- java.io.BufferedOutputStream
- Все реализуемые интерфейсы:
- Closeable, Flushable, AutoCloseable
public class BufferedOutputStream extends FilterOutputStream
Класс реализует буферизированный поток вывода. Создавая такой поток вывода, приложение может записывать байты в базовый поток вывода, не вызывая при этом операцию системы для каждого записанного байта.
- С:
- JDK1.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.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- если size <= 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.