Класс OutputStream
- Все реализуемые интерфейсы:
Closeable, Flushable, AutoCloseable
- Прямые известные подклассы:
ByteArrayOutputStream, FileOutputStream, FilterOutputStream, ObjectOutputStream, PipedOutputStream
public abstract class OutputStream extends Object implements Closeable, Flushable
Приложения, которым необходимо определить подкласс OutputStream, всегда должны предоставлять как минимум метод, записывающий один байт.
- С версии:
- 1.0
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
OutputStream() |
Конструктор, вызываемый подклассами. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
close() |
Закрывает этот поток вывода и освобождает все системные ресурсы, связанные с ним. |
void |
flush() |
Сбрасывает этот поток вывода и принудительно записывает все буферизованные выходные байты. |
static OutputStream |
nullOutputStream() |
Возвращает новый OutputStream, который отбрасывает все байты. |
void |
write |
Записывает b.length байтов из указанного массива байтов в этот поток вывода. |
void |
write |
Записывает len байтов из указанного массива байтов, начиная со смещения off, в этот поток вывода. |
abstract void |
write |
Записывает указанный байт в этот поток вывода. |
Подробное описание конструкторов
OutputStream
public OutputStream()
Подробное описание методов
nullOutputStream
public static OutputStream nullOutputStream()
OutputStream, который отбрасывает все байты. Возвращаемый поток изначально открыт. Поток закрывается вызовом метода close(). Последующие вызовы close() не оказывают эффекта. Пока поток открыт, методы write(int),
write(byte[]) и write(byte[], int, int) ничего не делают. После закрытия потока все эти методы выбрасывают
IOException.
Метод flush() ничего не делает.
- Возвращает:
OutputStream, который отбрасывает все байты- С версии:
- 11
write
public abstract void write(int b) throws IOException
write состоит в том, что в поток вывода записывается один байт. Записываемый байт — это восемь младших битов аргумента b. 24 старших бита b игнорируются.- Параметры:
-
b—byte. - Выбрасывает:
-
IOException— если происходит ошибка ввода-вывода. В частности, может быть выброшенIOException, если поток вывода был закрыт.
write
public void write(byte[] b) throws IOException
b.length байтов из указанного массива байтов в этот поток вывода. Общее соглашение для write(b) состоит в том, что этот метод должен иметь точно такой же эффект, как вызов write(b, 0, b.length).- Параметры:
-
b— данные. - Выбрасывает:
-
IOException— если происходит ошибка ввода-вывода. - См. также:
write
public void write(byte[] b, int off, int len) throws IOException
len байтов из указанного массива байтов, начиная со смещения off, в этот поток вывода. Общее соглашение для write(b, off, len) состоит в том, что некоторые байты массива b записываются в поток вывода по порядку: элемент b[off] является первым записываемым байтом, а b[off+len-1] — последним байтом, записанным этой операцией. Если b равен null, выбрасывается NullPointerException.
Если off отрицателен, или len отрицателен, или off+len больше длины массива b, выбрасывается IndexOutOfBoundsException.
- Примечание API:
- Рекомендуется переопределять этот метод в подклассах и предоставлять более эффективную реализацию.
- Требования к реализации:
- Метод
writeклассаOutputStreamвызывает однопараметрический метод write для каждого записываемого байта. - Параметры:
-
b— данные. -
off— начальное смещение в данных. -
len— количество байтов для записи. - Выбрасывает:
-
IOException— если происходит ошибка ввода-вывода. В частности,IOExceptionвыбрасывается, если поток вывода закрыт. -
IndexOutOfBoundsException— еслиoffотрицателен,lenотрицателен илиlenбольшеb.length - off
flush
public void flush() throws IOException
flush состоит в том, что его вызов означает: если реализация потока вывода буферизовала ранее записанные байты, эти байты следует немедленно передать в предназначенное для них место назначения. Если место назначения этого потока представляет собой абстракцию, предоставляемую базовой операционной системой, например файл, то сброс потока гарантирует только передачу ранее записанных в поток байтов операционной системе для записи; он не гарантирует, что байты действительно будут записаны на физическое устройство, например дисковод.
- Определен в:
-
flushв интерфейсеFlushable - Требования к реализации:
- Метод
flushклассаOutputStreamничего не делает. - Выбрасывает:
-
IOException— если происходит ошибка ввода-вывода.
close
public void close() throws IOException
close состоит в том, что этот метод закрывает поток вывода. Закрытый поток не может выполнять операции вывода и не может быть открыт повторно.- Определен в:
-
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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/OutputStream.html