Класс 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 |
Записывает указанный байт в этот поток вывода в файл. |
Методы, объявленные в классе java.io.OutputStream
flush, nullOutputStream
Подробное описание конструкторов
FileOutputStream
public FileOutputStream(String name) throws FileNotFoundException
FileDescriptor создаётся для представления этого файлового соединения. Сначала, если есть менеджер безопасности, вызывается его метод checkWrite с аргументом name.
Если файл существует, но является каталогом, а не обычным файлом, не существует, но не может быть создан или не может быть открыт по какой-либо другой причине, то выбрасывается FileNotFoundException.
- Требования к реализации:
- Вызов этого конструктора с параметром
nameэквивалентен вызовуnew FileOutputStream(name, false). - Параметры:
-
name- имя файла, зависящее от операционной системы - Исключения:
-
FileNotFoundException- если файл существует, но является каталогом, а не обычным файлом, не существует, но не может быть создан или не может быть открыт по какой-либо другой причине -
SecurityException- если менеджер безопасности существует и его методcheckWriteзапрещает доступ для записи в файл. - См. также:
FileOutputStream
public FileOutputStream(String name, boolean append) throws FileNotFoundException
true, то байты будут записаны в конец файла, а не в начало. Новый объект FileDescriptor создаётся для представления этого файлового соединения. Сначала, если есть менеджер безопасности, вызывается его метод checkWrite с аргументом name.
Если файл существует, но является каталогом, а не обычным файлом, не существует, но не может быть создан или не может быть открыт по какой-либо другой причине, то выбрасывается FileNotFoundException.
- Параметры:
-
name- имя файла, зависящее от операционной системы -
append- еслиtrue, то байты будут записаны в конец файла, а не в начало - Исключения:
-
FileNotFoundException- если файл существует, но является каталогом, а не обычным файлом, не существует, но не может быть создан или не может быть открыт по какой-либо другой причине. -
SecurityException- если менеджер безопасности существует и его методcheckWriteзапрещает доступ для записи в файл. - С момента:
- 1.1
- См. также:
FileOutputStream
public FileOutputStream(File file) throws FileNotFoundException
File. Новый объект FileDescriptor создаётся для представления этого файлового соединения. Сначала, если есть менеджер безопасности, вызывается его метод checkWrite с путём, представленным аргументом file, в качестве аргумента.
Если файл существует, но является каталогом, а не обычным файлом, не существует, но не может быть создан или не может быть открыт по какой-либо другой причине, то выбрасывается FileNotFoundException.
- Параметры:
-
file- файл, подлежащий открытию для записи. - Исключения:
-
FileNotFoundException- если файл существует, но является каталогом, а не обычным файлом, не существует, но не может быть создан или не может быть открыт по какой-либо другой причине -
SecurityException- если менеджер безопасности существует и его методcheckWriteзапрещает доступ для записи в файл. - См. также:
FileOutputStream
public FileOutputStream(File file, boolean append) throws FileNotFoundException
File. Если второй аргумент true, то байты будут записаны в конец файла, а не в начало. Новый объект FileDescriptor создаётся для представления этого файлового соединения. Сначала, если есть менеджер безопасности, вызывается его метод checkWrite с путём, представленным аргументом file, в качестве аргумента.
Если файл существует, но является каталогом, а не обычным файлом, не существует, но не может быть создан или не может быть открыт по какой-либо другой причине, то выбрасывается FileNotFoundException.
- Параметры:
-
file- файл, подлежащий открытию для записи. -
append- еслиtrue, то байты будут записаны в конец файла, а не в начало - Исключения:
-
FileNotFoundException- если файл существует, но является каталогом, а не обычным файлом, не существует, но не может быть создан или не может быть открыт по какой-либо другой причине -
SecurityException- если менеджер безопасности существует и его методcheckWriteзапрещает доступ для записи в файл. - С момента:
- 1.4
- См. также:
FileOutputStream
public FileOutputStream(FileDescriptor fdObj)
Сначала, если есть менеджер безопасности, вызывается его метод checkWrite с аргументом дескриптор файла fdObj.
Если fdObj равно null, то выбрасывается NullPointerException.
Этот конструктор не выбрасывает исключение, если fdObj является invalid. Однако, если методы вызываются в результирующем потоке для попытки ввода-вывода в потоке, выбрасывается IOException.
- Параметры:
-
fdObj- дескриптор файла, подлежащий открытию для записи - Исключения:
-
SecurityException- если менеджер безопасности существует и его методcheckWriteзапрещает доступ для записи к дескриптору файла - См. также:
Подробное описание методов
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, 2023, 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/21/docs/api/java.base/java/io/FileOutputStream.html