- 所有已实现的接口:
Closeable,Flushable,AutoCloseable
File 或 FileDescriptor 的输出流。文件是否可用或是否可以创建取决于底层平台。特别是某些平台,一次只允许一个FileOutputStream(或其他文件写入对象)打开一个文件进行写入。在这种情况下,如果涉及的文件已经打开,则此类中的构造函数将失败。
FileOutputStream 用于写入原始字节流,例如图像数据。要编写字符流,请考虑使用 FileWriter 。
-
构造方法总结
构造方法构造方法描述FileOutputStream(File file) 创建文件输出流以写入由指定的File对象表示的文件。FileOutputStream(FileDescriptor fdObj) 创建一个文件输出流以写入指定的文件描述符,它表示与文件系统中实际文件的现有连接。FileOutputStream(File file, boolean append) 创建文件输出流以写入由指定的File对象表示的文件。FileOutputStream(String name) 创建文件输出流以写入具有指定名称的文件。FileOutputStream(String name, boolean append) 创建文件输出流以写入具有指定名称的文件。 -
方法总结
修饰符和类型方法描述voidclose()关闭此文件输出流并释放与此流关联的所有系统资源。返回与此文件输出流关联的唯一FileChannel对象。final FileDescriptorgetFD()返回与此流关联的文件描述符。voidwrite(byte[] b) 将指定字节数组中的b.length个字节写入此文件输出流。voidwrite(byte[] b, int off, int len) 从偏移量off开始的指定字节数组中将len字节写入此文件输出流。voidwrite(int b) 将指定字节写入此文件输出流。在类 java.io.OutputStream 中声明的方法
flush, nullOutputStream
-
构造方法详细信息
-
FileOutputStream
创建文件输出流以写入具有指定名称的文件。创建一个新的FileDescriptor对象来表示此文件连接。首先,如果有一个安全管理器,它的
checkWrite方法将以name作为参数调用。如果文件存在但是是目录而不是常规文件,不存在但无法创建,或者由于任何其他原因无法打开,则抛出
FileNotFoundException。- 实现要求:
-
使用参数
name调用此构造函数等同于调用new FileOutputStream(name, false)。 - 参数:
name- 系统相关的文件名- 抛出:
FileNotFoundException- 如果文件存在但是是目录而不是常规文件,不存在但无法创建,或者由于任何其他原因无法打开SecurityException- 如果安全管理器存在且其checkWrite方法拒绝对文件的写访问。- 参见:
-
FileOutputStream
创建文件输出流以写入具有指定名称的文件。如果第二个参数是true,那么字节将被写入文件的末尾而不是开头。创建一个新的FileDescriptor对象来表示此文件连接。首先,如果有一个安全管理器,它的
checkWrite方法将以name作为参数调用。如果文件存在但是是目录而不是常规文件,不存在但无法创建,或者由于任何其他原因无法打开,则抛出
FileNotFoundException。- 参数:
name- 系统相关的文件名append- 如果是true,则字节将写入文件末尾而不是开头- 抛出:
FileNotFoundException- 如果文件存在但是是目录而不是常规文件,不存在但无法创建,或者由于任何其他原因无法打开。SecurityException- 如果安全管理器存在且其checkWrite方法拒绝对文件的写访问。- 自从:
- 1.1
- 参见:
-
FileOutputStream
创建文件输出流以写入由指定的File对象表示的文件。创建一个新的FileDescriptor对象来表示此文件连接。首先,如果有一个安全管理器,它的
checkWrite方法被调用,以file参数表示的路径作为它的参数。如果文件存在但是是目录而不是常规文件,不存在但无法创建,或者由于任何其他原因无法打开,则抛出
FileNotFoundException。- 参数:
file- 为写入而打开的文件。- 抛出:
FileNotFoundException- 如果文件存在但是是目录而不是常规文件,不存在但无法创建,或者由于任何其他原因无法打开SecurityException- 如果安全管理器存在且其checkWrite方法拒绝对文件的写访问。- 参见:
-
FileOutputStream
创建文件输出流以写入由指定的File对象表示的文件。如果第二个参数是true,那么字节将被写入文件的末尾而不是开头。创建一个新的FileDescriptor对象来表示此文件连接。首先,如果有一个安全管理器,它的
checkWrite方法被调用,以file参数表示的路径作为它的参数。如果文件存在但是是目录而不是常规文件,不存在但无法创建,或者由于任何其他原因无法打开,则抛出
FileNotFoundException。- 参数:
file- 为写入而打开的文件。append- 如果是true,则字节将写入文件末尾而不是开头- 抛出:
FileNotFoundException- 如果文件存在但是是目录而不是常规文件,不存在但无法创建,或者由于任何其他原因无法打开SecurityException- 如果安全管理器存在且其checkWrite方法拒绝对文件的写访问。- 自从:
- 1.4
- 参见:
-
FileOutputStream
创建一个文件输出流以写入指定的文件描述符,它表示与文件系统中实际文件的现有连接。首先,如果有一个安全管理器,它的
checkWrite方法被调用,文件描述符fdObj参数作为它的参数。如果
fdObj为空,则抛出NullPointerException。如果
fdObj是invalid,则此构造函数不会抛出异常。但是,如果在结果流上调用这些方法以尝试在流上进行 I/O,则会抛出IOException。- 参数:
fdObj- 为写入而打开的文件描述符- 抛出:
SecurityException- 如果安全管理器存在且其checkWrite方法拒绝对文件描述符的写访问- 参见:
-
-
方法详情
-
write
将指定字节写入此文件输出流。实现OutputStream的write方法。- 指定者:
write在类OutputStream中- 参数:
b- 要写入的字节。- 抛出:
IOException- 如果发生 I/O 错误。
-
write
将指定字节数组中的b.length个字节写入此文件输出流。- 重写:
write在类OutputStream中- 参数:
b- 数据。- 抛出:
IOException- 如果发生 I/O 错误。- 参见:
-
write
从偏移量off开始的指定字节数组中将len字节写入此文件输出流。- 重写:
write在类OutputStream中- 参数:
b- 数据。off- 数据中的起始偏移量。len- 要写入的字节数。- 抛出:
IOException- 如果发生 I/O 错误。IndexOutOfBoundsException- 如果off为负,len为负,或者len大于b.length - off
-
close
关闭此文件输出流并释放与此流关联的所有系统资源。此文件输出流可能不再用于写入字节。如果此流有关联的通道,则该通道也会关闭。
- 指定者:
close在接口AutoCloseable中- 指定者:
close在接口Closeable中- 重写:
close在类OutputStream中- API 注意:
-
只有在直接调用或通过 try-with-resources 调用时,覆盖
close()以执行清理操作才是可靠的。不要依赖终结来调用close; finalization 不可靠,已弃用。如果需要清理本机资源,则应使用其他机制,例如 Cleaner。 - 抛出:
IOException- 如果发生 I/O 错误。
-
getFD
返回与此流关联的文件描述符。- 返回:
FileDescriptor对象,表示与此FileOutputStream对象正在使用的文件系统中的文件的连接。- 抛出:
IOException- 如果发生 I/O 错误。- 参见:
-
getChannel
返回与此文件输出流关联的唯一FileChannel对象。返回通道的初始
position将等于到目前为止写入文件的字节数,除非此流处于追加模式,在这种情况下它将等于文件的大小。将字节写入此流将相应地增加通道的位置。显式或通过写入更改通道的位置将更改此流的文件位置。- 返回:
- 与此文件输出流关联的文件通道
- 自从:
- 1.4
-