Класс FileOutputStream
- Все реализуемые интерфейсы:
-
Closeable,Flushable,AutoCloseable
public class FileOutputStream extends OutputStream
File. Доступность файла или возможность его создания зависит от платформы. На некоторых платформах файл может открываться для записи только одним объектом (или другим объектом записи в файл) за раз. В таких ситуациях конструкторы этого класса завершатся с ошибкой, если файл уже открыт. 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 |
Записывает указанный байт в этот поток вывода в файл. |
Методы, унаследованные от класса java.io.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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/io/FileOutputStream.html