Класс 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, 2023, 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/21/docs/api/java.base/java/io/OutputStream.html