Класс FileOutputStream
- java.lang.Object
-
- java.io.OutputStream
-
- java.io.FileOutputStream
- Все реализованные интерфейсы:
- Closeable, Flushable, AutoCloseable
public class FileOutputStream extends OutputStream
Поток вывода для файла — это поток вывода для записи данных в File или в FileDescriptor. Доступность или возможность создания файла зависят от базовой платформы. Некоторые платформы, в частности, разрешают открытие файла для записи только одним FileOutputStream (или другим объектом записи в файл) за раз. В таких ситуациях конструкторы этого класса завершатся ошибкой, если соответствующий файл уже открыт.
FileOutputStream предназначен для записи потоков необработанных байтов, таких как данные изображения. Для записи потоков символов используйте FileWriter.
- С тех пор:
- JDK1.0
- См. также:
-
File,FileDescriptor,FileInputStream,Files.newOutputStream(java.nio.file.Path, java.nio.file.OpenOption...)
Конструкторы
| Конструктор и описание |
|---|
FileOutputStream(File file) Создает поток вывода для файла, представленного указанным объектом |
FileOutputStream(File file,
boolean append) Создает поток вывода для файла, представленного указанным объектом |
FileOutputStream(FileDescriptor fdObj) Создает поток вывода для файла, используя указанный дескриптор файла, представляющий существующее подключение к реальному файлу в файловой системе. |
FileOutputStream(String name) Создает поток вывода для файла с указанным именем. |
FileOutputStream(String name,
boolean append) Создает поток вывода для файла с указанным именем. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
void |
close() Закрывает этот поток вывода файла и освобождает все системные ресурсы, связанные с этим потоком. |
protected void |
finalize() Очищает подключение к файлу и гарантирует, что метод |
FileChannel |
getChannel() Возвращает уникальный объект |
FileDescriptor |
getFD() Возвращает дескриптор файла, связанный с этим потоком. |
void |
write(byte[] b) Записывает |
void |
write(byte[] b,
int off,
int len) Записывает |
void |
write(int b) Записывает указанный байт в этот поток вывода файла. |
Методы, унаследованные от класса java.io.OutputStream
flush Методы, унаследованные от класса java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Конструкторы
FileOutputStream
public FileOutputStream(String name)
throws FileNotFoundException Создаёт поток вывода в файл с указанным именем. Создаётся новый объект FileDescriptor, представляющий это файловое соединение.
Сначала, если есть менеджер безопасности, вызывается его метод checkWrite с name в качестве аргумента.
Если файл существует, но является каталогом, а не обычным файлом, не существует, но не может быть создан, или не может быть открыт по какой-либо другой причине, то выбрасывается исключение FileNotFoundException.
- Параметры:
-
name- имя файла, зависящее от операционной системы - Исключения:
-
FileNotFoundException- если файл существует, но является каталогом, а не обычным файлом, не существует, но не может быть создан, или не может быть открыт по какой-либо другой причине -
SecurityException- если менеджер безопасности существует и его методcheckWriteзапрещает запись в файл. - См. также:
SecurityManager.checkWrite(java.lang.String)
FileOutputStream
public FileOutputStream(String name,
boolean append)
throws FileNotFoundException Создаёт поток вывода в файл с указанным именем. Если второй аргумент true, то байты будут записаны в конец файла, а не в начало. Создаётся новый объект FileDescriptor, представляющий это файловое соединение.
Сначала, если есть менеджер безопасности, вызывается его метод checkWrite с name в качестве аргумента.
Если файл существует, но является каталогом, а не обычным файлом, не существует, но не может быть создан, или не может быть открыт по какой-либо другой причине, то выбрасывается исключение FileNotFoundException.
- Параметры:
-
name- имя файла, зависящее от операционной системы -
append- еслиtrue, то байты будут записаны в конец файла, а не в начало - Исключения:
-
FileNotFoundException- если файл существует, но является каталогом, а не обычным файлом, не существует, но не может быть создан, или не может быть открыт по какой-либо другой причине. -
SecurityException- если менеджер безопасности существует и его методcheckWriteзапрещает запись в файл. - С тех пор:
- JDK1.1
- См. также:
SecurityManager.checkWrite(java.lang.String)
FileOutputStream
public FileOutputStream(File file)
throws FileNotFoundException Создаёт поток вывода в файл, представленный указанным объектом File. Создаётся новый объект FileDescriptor, представляющий это файловое соединение.
Сначала, если есть менеджер безопасности, вызывается его метод checkWrite с путём, представленным аргументом file, в качестве аргумента.
Если файл существует, но является каталогом, а не обычным файлом, не существует, но не может быть создан, или не может быть открыт по какой-либо другой причине, то выбрасывается исключение FileNotFoundException.
- Параметры:
-
file- файл, который должен быть открыт для записи. - Исключения:
-
FileNotFoundException- если файл существует, но является каталогом, а не обычным файлом, не существует, но не может быть создан, или не может быть открыт по какой-либо другой причине -
SecurityException- если менеджер безопасности существует и его методcheckWriteзапрещает запись в файл. - См. также:
-
File.getPath(),SecurityException,SecurityManager.checkWrite(java.lang.String)
FileOutputStream
public FileOutputStream(File file,
boolean append)
throws FileNotFoundException Создаёт поток вывода в файл, представленный указанным объектом File. Если второй аргумент true, то байты будут записаны в конец файла, а не в начало. Создаётся новый объект FileDescriptor, представляющий это файловое соединение.
Сначала, если есть менеджер безопасности, вызывается его метод checkWrite с путём, представленным аргументом file, в качестве аргумента.
Если файл существует, но является каталогом, а не обычным файлом, не существует, но не может быть создан, или не может быть открыт по какой-либо другой причине, то выбрасывается исключение FileNotFoundException.
- Параметры:
-
file- файл, который должен быть открыт для записи. -
append- еслиtrue, то байты будут записаны в конец файла, а не в начало - Исключения:
-
FileNotFoundException- если файл существует, но является каталогом, а не обычным файлом, не существует, но не может быть создан, или не может быть открыт по какой-либо другой причине -
SecurityException- если менеджер безопасности существует и его методcheckWriteзапрещает запись в файл. - С тех пор:
- 1.4
- См. также:
-
File.getPath(),SecurityException,SecurityManager.checkWrite(java.lang.String)
FileOutputStream
public FileOutputStream(FileDescriptor fdObj)
Создаёт поток вывода в указанный дескриптор файла, представляющий существующее соединение с фактическим файлом в файловой системе.
Сначала, если есть менеджер безопасности, вызывается его метод checkWrite с аргументом дескриптора файла fdObj.
Если fdObj равно null, то выбрасывается исключение NullPointerException.
Этот конструктор не выбрасывает исключение, если fdObj равен invalid. Однако, если методы вызываются на результирующем потоке для попытки ввода-вывода в потоке, выбрасывается исключение IOException.
- Параметры:
-
fdObj- дескриптор файла, который должен быть открыт для записи - Исключения:
-
SecurityException- если менеджер безопасности существует и его методcheckWriteзапрещает запись в дескриптор файла - См. также:
SecurityManager.checkWrite(java.io.FileDescriptor)
Методы
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- если происходит ошибка ввода-вывода. - См. также:
OutputStream.write(byte[], int, int)
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в интерфейсеCloseable - Указано в:
-
closeв интерфейсеAutoCloseable - Переопределяет:
-
closeв классеOutputStream - Исключения:
-
IOException- если происходит ошибка ввода-вывода.
getFD
public final FileDescriptor getFD()
throws IOException Возвращает дескриптор файла, связанный с этим потоком.
- Возвращает:
- объект
FileDescriptor, который представляет соединение с файлом в файловой системе, используемое этим объектомFileOutputStream. - Исключения:
-
IOException- если происходит ошибка ввода-вывода. - См. также:
FileDescriptor
getChannel
public FileChannel getChannel()
Возвращает уникальный объект FileChannel, связанный с этим потоком вывода в файл.
Начальное значение position возвращаемого канала будет равно количеству записанных в файл байтов до сих пор, если только этот поток не находится в режиме добавления, в этом случае оно будет равно размеру файла. Запись байтов в этот поток будет увеличивать позицию канала соответствующим образом. Изменение позиции канала, как явно, так и посредством записи, изменит позицию файла этого потока.
- Возвращает:
- канал файла, связанный с этим потоком вывода в файл
- С тех пор:
- 1.4
finalize
protected void finalize()
throws IOException Очищает соединение с файлом и гарантирует, что метод close этого потока вывода в файл будет вызван, когда больше нет ссылок на этот поток.
- Переопределяет:
-
finalizeв классеObject - Исключения:
-
IOException- если происходит ошибка ввода-вывода. - См. также:
FileInputStream.close()
© 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.