Класс 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() |
Возвращает новый |
void |
write(byte[] b) |
Записывает |
void |
write(byte[] b,
int off,
int len) |
Записывает |
abstract void |
write(int b) |
Записывает указанный байт в этот поток вывода. |
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Подробное описание конструкторов
OutputStream
public OutputStream()
Подробное описание методов
nullOutputStream
Возвращает новый OutputStream, который отбрасывает все байты. Возвращаемый поток по умолчанию открыт. Поток закрывается вызовом метода close(). Последующие вызовы close() не имеют эффекта.
Пока поток открыт, методы write(int),
write(byte[]), и write(byte[], int, int) ничего не делают. После закрытия потока эти методы выбрасывают
IOException.
Метод flush() ничего не делает.
- Возвращает:
- новый
OutputStream, который отбрасывает все байты - С тех пор:
- 11
write
Записывает указанный байт в этот поток вывода. Общий контракт для write заключается в том, что один байт записывается в поток вывода. Байтом для записи являются восемь младших битов аргумента b. 24 старших бита b игнорируются.
Подклассы OutputStream должны предоставить реализацию для этого метода.
- Параметры:
-
b- байт. - Исключения:
-
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] — последний байт, записанный этим оператором.
Метод 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, 2020, 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/11/docs/api/java.base/java/io/OutputStream.html