Класс 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- байт для записи. - Исключения:
-
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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/io/OutputStream.html