Класс FileOutputStream
- Все реализованные интерфейсы:
Closeable, Flushable, AutoCloseable
public class FileOutputStream extends OutputStream
File или FileDescriptor. Возможность доступа к файлу или его создания зависит от используемой платформы. Некоторые платформы, в частности, позволяют открывать файл для записи только одному FileOutputStream (или другому объекту для записи в файл) одновременно. В таких ситуациях конструкторы этого класса завершатся с ошибкой, если соответствующий файл уже открыт. FileOutputStream предназначен для записи потоков необработанных байтов, например данных изображения. Для записи потоков символов рассмотрите возможность использования FileWriter.
- Примечание к API:
- Для освобождения ресурсов, используемых этим потоком, следует вызвать метод
close()напрямую или с помощью оператораtry-with-resources. - Требования к реализации:
- Подклассы отвечают за очистку ресурсов, полученных подклассом. Подклассам, которым необходимо очищать ресурсы после того, как поток становится недостижимым, следует использовать
Cleanerили другой механизм. - С версии:
- 1.0
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
FileOutputStream |
Создает поток вывода в файл для записи в файл, представленный указанным объектом File. |
FileOutputStream |
Создает поток вывода в файл для записи в файл, представленный указанным дескриптором файла, который соответствует существующему соединению с фактическим файлом в файловой системе. |
FileOutputStream |
Создает поток вывода в файл для записи в файл, представленный указанным объектом File. |
FileOutputStream |
Создает поток вывода в файл для записи в файл с указанным именем. |
FileOutputStream |
Создает поток вывода в файл для записи в файл с указанным именем. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
close() |
Закрывает этот поток вывода в файл и освобождает все системные ресурсы, связанные с ним. |
FileChannel |
getChannel() |
Возвращает уникальный объект FileChannel, связанный с этим потоком вывода в файл. |
final FileDescriptor |
getFD() |
Возвращает дескриптор файла, связанный с этим потоком. |
void |
write |
Записывает b.length байтов из указанного массива байтов в этот поток вывода в файл. |
void |
write |
Записывает len байтов из указанного массива байтов, начиная со смещения off, в этот поток вывода в файл. |
void |
write |
Записывает указанный байт в этот поток вывода в файл. |
Методы, объявленные в классе OutputStream
flush, nullOutputStream
Подробное описание конструкторов
FileOutputStream
public FileOutputStream(String name) throws FileNotFoundException
FileDescriptor, представляющий это файловое соединение. Если файл существует, но является каталогом, а не обычным файлом, не существует, но не может быть создан, или не может быть открыт по любой другой причине, выбрасывается исключение FileNotFoundException.
- Требования к реализации:
- Вызов этого конструктора с параметром
nameэквивалентен вызовуnew FileOutputStream(name, false). - Параметры:
-
name— зависящее от системы имя файла - Выбрасывает:
-
FileNotFoundException— если файл существует, но является каталогом, а не обычным файлом, не существует, но не может быть создан, или не может быть открыт по любой другой причине
FileOutputStream
public FileOutputStream(String name, boolean append) throws FileNotFoundException
true; в этом случае байты записываются в конец файла, а не в его начало. Если файл не существует, он создается. Символические ссылки автоматически перенаправляются на целевой объект ссылки. Создается новый объект FileDescriptor, представляющий это файловое соединение. Если файл существует, но является каталогом, а не обычным файлом, не существует, но не может быть создан, или не может быть открыт по любой другой причине, выбрасывается исключение FileNotFoundException.
- Параметры:
-
name— зависящее от системы имя файла -
append— еслиtrue, байты будут записываться в конец файла, а не в его начало - Выбрасывает:
-
FileNotFoundException— если файл существует, но является каталогом, а не обычным файлом, не существует, но не может быть создан, или не может быть открыт по любой другой причине. - С версии:
- 1.1
FileOutputStream
public FileOutputStream(File file) throws FileNotFoundException
File. Если файл существует, его содержимое усекается; в противном случае создается новый файл. Символические ссылки автоматически перенаправляются на целевой объект ссылки. Создается новый объект FileDescriptor, представляющий это файловое соединение. Если файл существует, но является каталогом, а не обычным файлом, не существует, но не может быть создан, или не может быть открыт по любой другой причине, выбрасывается исключение FileNotFoundException.
- Параметры:
-
file— файл, который необходимо открыть для записи. - Выбрасывает:
-
FileNotFoundException— если файл существует, но является каталогом, а не обычным файлом, не существует, но не может быть создан, или не может быть открыт по любой другой причине - См. также:
FileOutputStream
public FileOutputStream(File file, boolean append) throws FileNotFoundException
File. Если файл существует, его содержимое усекается, если только второй аргумент не равен true; в этом случае байты записываются в конец файла, а не в его начало. Если файл не существует, он создается. Символические ссылки автоматически перенаправляются на целевой объект ссылки. Создается новый объект FileDescriptor, представляющий это файловое соединение. Если файл существует, но является каталогом, а не обычным файлом, не существует, но не может быть создан, или не может быть открыт по любой другой причине, выбрасывается исключение FileNotFoundException.
- Параметры:
-
file— файл, который необходимо открыть для записи. -
append— еслиtrue, байты будут записываться в конец файла, а не в его начало - Выбрасывает:
-
FileNotFoundException— если файл существует, но является каталогом, а не обычным файлом, не существует, но не может быть создан, или не может быть открыт по любой другой причине - С версии:
- 1.4
- См. также:
FileOutputStream
public FileOutputStream(FileDescriptor fdObj)
Если fdObj равен null, выбрасывается исключение NullPointerException.
Этот конструктор не выбрасывает исключение, если fdObj является invalid. Однако при вызове методов результирующего потока для выполнения операций ввода-вывода в потоке выбрасывается исключение IOException.
- Параметры:
-
fdObj— дескриптор файла, который необходимо открыть для записи
Подробное описание методов
write
public void write(int b) throws IOException
write класса OutputStream.- Определено в:
-
writeв классеOutputStream - Параметры:
-
b— байт для записи. - Выбрасывает:
-
IOException— если происходит ошибка ввода-вывода.
write
public void write(byte[] b) throws IOException
b.length байтов из указанного массива байтов в этот поток вывода в файл.- Переопределяет:
-
writeв классеOutputStream - Параметры:
-
b— данные. - Выбрасывает:
-
IOException— если происходит ошибка ввода-вывода. - См. также:
write
public void write(byte[] b, int off, int len) throws IOException
len байтов из указанного массива байтов, начиная со смещения off, в этот поток вывода в файл.- Переопределяет:
-
writeв классеOutputStream - Параметры:
-
b— данные. -
off— начальное смещение в данных. -
len— количество байтов для записи. - Выбрасывает:
-
IOException— если происходит ошибка ввода-вывода. -
IndexOutOfBoundsException— еслиoffотрицательно,lenотрицательно илиlenбольше, чемb.length - off
close
public void close() throws IOException
Если с этим потоком связан канал, он также закрывается.
- Определено в:
-
closeв интерфейсеAutoCloseable - Определено в:
-
closeв интерфейсеCloseable - Переопределяет:
-
closeв классеOutputStream - Примечание к API:
- Переопределение
close()для выполнения действий по очистке надежно только при прямом вызове или вызове с помощью конструкции try-with-resources. - Требования к реализации:
- Подклассам, которым необходимо очищать ресурсы после того, как поток становится недостижимым, следует использовать механизм
Cleaner.Если с этим потоком связан канал, этот метод закроет канал, что, в свою очередь, закроет этот поток. Подклассы, переопределяющие этот метод, должны быть готовы к возможному повторному входу в метод.
- Выбрасывает:
-
IOException— если происходит ошибка ввода-вывода.
getFD
public final FileDescriptor getFD() throws IOException
- Возвращает:
- объект
FileDescriptor, представляющий соединение с файлом в файловой системе, используемое этим объектомFileOutputStream. - Выбрасывает:
-
IOException— если происходит ошибка ввода-вывода. - См. также:
getChannel
public FileChannel getChannel()
FileChannel, связанный с этим потоком вывода в файл. Начальная position возвращаемого канала будет равна количеству байтов, записанных в файл к этому моменту, если только поток не работает в режиме добавления — в этом случае она будет равна размеру файла. Запись байтов в этот поток будет соответствующим образом увеличивать позицию канала. Изменение позиции канала — явно или посредством записи — изменит позицию этого потока в файле.
- Возвращает:
- канал файла, связанный с этим потоком вывода в файл
- С версии:
- 1.4
© 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/FileOutputStream.html