Класс 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 игнорируются. Подклассы OutputStream должны предоставить реализацию для этого метода.
- Параметры:
-
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] - последним байтом, записанным в ходе этой операции. Метод write OutputStream вызывает метод write с одним аргументом для каждого байта, который необходимо записать. Подклассы рекомендуется переопределять этот метод и обеспечивать более эффективную реализацию.
Если b равно null, выбрасывается NullPointerException.
Если off отрицательно, или len отрицательно, или off+len больше длины массива b, выбрасывается IndexOutOfBoundsException.
- Параметры:
-
b- данные. -
off- начальное смещение в данных. -
len- количество байт для записи. - Исключения:
-
IOException- если произошла ошибка ввода-вывода. В частности, выбрасываетсяIOException, если поток вывода закрыт.
flush
public void flush() throws IOException
flush заключается в том, что вызов означает, что, если какие-либо ранее записанные байты были буферизованы реализацией потока вывода, такие байты должны быть немедленно записаны в их предназначенное место назначения. Если предполагаемое место назначения этого потока является абстракцией, предоставляемой базовой операционной системой, например, файл, то сброс потока гарантирует только, что ранее записанные в поток байты передаются операционной системе для записи; он не гарантирует, что они фактически записаны на физическое устройство, например, на жесткий диск.
Метод flush OutputStream ничего не делает.
- Указано в:
-
flushв интерфейсеFlushable - Исключения:
-
IOException- если произошла ошибка ввода-вывода.
close
public void close() throws IOException
close заключается в том, что он закрывает поток вывода. Закрытый поток не может выполнять операции вывода и не может быть повторно открыт. Метод close класса OutputStream ничего не делает.
- Указано в:
-
closeв интерфейсеAutoCloseable - Указано в:
-
closeв интерфейсеCloseable - Исключения:
-
IOException- если произошла ошибка ввода-вывода.
© 1993, 2021, 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/17/docs/api/java.base/java/io/OutputStream.html