Spec-Zone.ru › OpenJDK 25

Класс OutputStream

java.lang.Object
java.io.OutputStream
Все реализуемые интерфейсы:
Closeable, Flushable, AutoCloseable
Прямые известные подклассы:
ByteArrayOutputStream, FileOutputStream, FilterOutputStream, ObjectOutputStream, PipedOutputStream
public abstract class OutputStream extends Object implements Closeable, Flushable
Этот абстрактный класс является суперклассом всех классов, представляющих поток вывода байтов. Поток вывода принимает выходные байты и передает их некоторому приемнику.

Приложения, которым необходимо определить подкласс OutputStream, всегда должны предоставлять как минимум метод, записывающий один байт.

С версии:
1.0
См. также:
  • BufferedOutputStream
  • ByteArrayOutputStream
  • DataOutputStream
  • FilterOutputStream
  • InputStream
  • write(int)

Краткое описание конструкторов

Конструктор Описание
OutputStream()
Конструктор, вызываемый подклассами.

Краткое описание методов

Модификатор и тип Метод Описание
void close()
Закрывает этот поток вывода и освобождает все системные ресурсы, связанные с ним.
void flush()
Сбрасывает этот поток вывода и принудительно записывает все буферизованные выходные байты.
static OutputStream nullOutputStream()
Возвращает новый OutputStream, который отбрасывает все байты.
void write(byte[] b)
Записывает b.length байтов из указанного массива байтов в этот поток вывода.
void write(byte[] b, int off, int len)
Записывает len байтов из указанного массива байтов, начиная со смещения off, в этот поток вывода.
abstract void write(int b)
Записывает указанный байт в этот поток вывода.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание конструкторов

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(byte[], int, int)

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 — если происходит ошибка ввода-вывода.

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, включая концептуальные обзоры, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API