Класс FileOutputStream
- Все реализованные интерфейсы:
-
Closeable,Flushable,AutoCloseable
public class FileOutputStream extends OutputStream
Этот класс предназначен для записи потоков байтов, таких как данные изображения. Для записи потоков символов используйте FileWriter.
- Примечание API:
- Для освобождения ресурсов, используемых этим потоком, необходимо вызвать метод
close()напрямую или в блоке try-with-resources. Подклассы отвечают за очистку ресурсов, полученных подклассом. Подклассы, переопределяющие методObject.finalize()для выполнения очистки, должны быть изменены, чтобы использовать альтернативные механизмы очистки, такие какCleaner, и удалить переопределенный методfinalize. - Требования к реализации:
- Если этот FileOutputStream был расширен и метод
close()был переопределён, методclose()будет вызван, когда объект FileInputStream станет недоступным. В противном случае, способ очистки ресурсов, описанный вclose(), зависит от реализации. - С:
- 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- если произошла ошибка ввода-вывода.
close
public void close() throws IOException
Если у этого потока есть связанный канал, то канал также закрывается.
- Определено в:
-
closeв интерфейсеAutoCloseable - Определено в:
-
closeв интерфейсеCloseable - Переопределяет:
-
closeв классеOutputStream - Примечание API:
- Переопределение
close()для выполнения действий по очистке надёжно только при вызове непосредственно или при вызове с помощью try-with-resources. Не полагайтесь на финализацию для вызоваclose; финализация ненадёжна и устарела. Если нужна очистка нативных ресурсов, следует использовать другие механизмы, такие как Cleaner. - Исключения:
-
IOException- если произошла ошибка ввода-вывода.
getFD
public final FileDescriptor getFD() throws IOException
- Возвращает:
- объект
FileDescriptor, представляющий подключение к файлу в файловой системе, используемое этим объектомFileOutputStream. - Исключения:
-
IOException- если произошла ошибка ввода-вывода. - См. также:
getChannel
public FileChannel getChannel()
FileChannel, связанный с этим потоком вывода файла. Начальное значение position возвращённого канала будет равно количеству байтов, записанных в файл до сих пор, если этот поток не в режиме добавления, в этом случае оно будет равно размеру файла. Запись байтов в этот поток соответственно увеличит позицию канала. Изменение позиции канала, явно или посредством записи, изменит позицию файла этого потока.
- Возвращает:
- канал файла, связанный с этим потоком вывода файла
- С:
- 1.4
© 1993, 2021, 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/17/docs/api/java.base/java/io/FileOutputStream.html