IO-FileOutputStream
java.io
类 FileOutputStream
java.lang.Object
┗java.io.OutputStream
┗java.io.FileOutputStream
所有已实现的接口:
Closeable, Flushable
public class FileOutputStream extends OutputStream
文件输出流是用于将数据写入 File 或 FileDescriptor 的输出流。文件是否可用或能否可以被创建取决于基础平台。特别是某些平台一次只允许一个 FileOutputStream(或其他文件写入对象)打开文件进行写入。在这种情况下,如果所涉及的文件已经打开,则此类中的构造方法将失败。
FileOutputStream 用于写入诸如图像数据之类的原始字节的流。要写入字符流,请考虑使用 FileWriter。
构造方法摘要
FileOutputStream(File file)
创建一个向指定 File 对象表示的文件中写入数据的文件输出流。
FileOutputStream(File file, boolean append)
创建一个向指定 File 对象表示的文件中写入数据的文件输出流。
FileOutputStream(String name)
创建一个向具有指定名称的文件中写入数据的输出文件流。
FileOutputStream(String name, boolean append)
创建一个向具有指定 name 的文件中写入数据的输出文件流。
FileOutputStream(FileDescriptor fdObj)
创建一个向指定文件描述符处写入数据的输出文件流,该文件描述符表示一个到文件系统中的某个实际文件的现有连接。
方法摘要
void close()
关闭此文件输出流并释放与此流有关的所有系统资源。
protected void finalize()
清理到文件的连接,并确保在不再引用此文件输出流时调用此流的 close 方法。
FileChannel getChannel()
返回与此文件输出流有关的唯一 FileChannel 对象。
FileDescriptor getFD()
返回与此流有关的文件描述符。
void write(byte[] b)
将 b.length 个字节从指定 byte 数组写入此文件输出流中。
void write(byte[] b, int off, int len)
将指定 byte 数组中从偏移量 off 开始的 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 对象来表示此文件连接。
首先,如果有安全管理器,则用 name 作为参数调用 checkWrite 方法。
如果该文件存在,但它是一个目录,而不是一个常规文件;或者该文件不存在,但无法创建它;抑或因为其他某些原因而无法打开它,则抛出 FileNotFoundException。
参数:
name - 与系统有关的文件名
抛出:
FileNotFoundException - 如果文件存在,但它是一个目录,而不是一个常规文件;或者该文件不存在,但无法创建它;抑或因为其他某些原因而无法打开它
SecurityException - 如果存在安全管理器,且其 checkWrite 方法拒绝对文件进行写入访问。
FileOutputStream
public FileOutputStream(String name,boolean append) throws FileNotFoundException
创建一个向具有指定 name 的文件中写入数据的输出文件流。
如果第二个参数为 true,则将字节写入文件末尾处,而不是写入文件开始处。
创建一个新 FileDescriptor 对象来表示此文件连接。
首先,如果有安全管理器,则用 name 作为参数调用 checkWrite 方法。
如果该文件存在,但它是一个目录,而不是一个常规文件;或者该文件不存在,但无法创建它;抑或因为其他某些原因而无法打开它,则抛出 FileNotFoundException。
参数:
name - 与系统有关的文件名
append - 如果为 true,则将字节写入文件末尾处,而不是写入文件开始处
抛出:
FileNotFoundException - 如果该文件存在,但它是一个目录,而不是一个常规文件;或者该文件不存在,但无法创建它;抑或因为其他某些原因而无法打开它。
SecurityException - 如果存在安全管理器,且其 checkWrite 方法拒绝对文件进行写入访问。
FileOutputStream
public FileOutputStream(File file) throws FileNotFoundException
创建一个向指定 File 对象表示的文件中写入数据的文件输出流。创建一个新 FileDescriptor 对象来表示此文件连接。
首先,如果有安全管理器,则用 file 参数表示的路径作为参数来调用 checkWrite 方法。
如果该文件存在,但它是一个目录,而不是一个常规文件;或者该文件不存在,但无法创建它;抑或因为其他某些原因而无法打开,则抛出 FileNotFoundException。
参数:
file - 为了进行写入而打开的文件。
抛出:
FileNotFoundException - 如果该文件存在,但它是一个目录,而不是一个常规文件;或者该文件不存在,但无法创建它;抑或因为其他某些原因而无法打开。
SecurityException - 如果存在安全管理器,且其 checkWrite 方法拒绝对文件进行写入访问。
FileOutputStream
public FileOutputStream(File file, boolean append) throws FileNotFoundException
创建一个向指定 File 对象表示的文件中写入数据的文件输出流。如果第二个参数为 true,则将字节写入文件末尾处,而不是写入文件开始处。创建一个新 FileDescriptor 对象来表示此文件连接。
首先,如果有安全管理器,则用 file 参数表示的路径作为参数来调用 checkWrite 方法。
如果该文件存在,但它是一个目录,而不是一个常规文件;或者该文件不存在,但无法创建它;抑或因为其他某些原因而无法打开它,则抛出 FileNotFoundException。
参数:
file - 为了进行写入而打开的文件。
append - 如果为 true,则将字节写入文件末尾处,而不是写入文件开始处
抛出:
FileNotFoundException - 如果该文件存在,但它是一个目录,而不是一个常规文件;或者该文件不存在,但无法创建它;抑或因为其他某些原因而无法打开它
SecurityException - 如果存在安全管理器,且其 checkWrite 方法拒绝对文件进行写入访问。
FileOutputStream
public FileOutputStream(FileDescriptor fdObj)
创建一个向指定文件描述符处写入数据的输出文件流,该文件描述符表示一个到文件系统中的某个实际文件的现有连接。
首先,如果有安全管理器,则用文件描述符 fdObj 参数作为参数来调用 checkRead 方法。
参数:
fdObj - 为进行写入而打开的文件描述符
抛出:
SecurityException - 如果存在安全管理器,且其 checkWrite 方法拒绝对文件描述符进行写入访问。
方法详细信息
write
public void write(int b) throws IOException
将指定字节写入此文件输出流。实现 OutputStream 的 write 方法。
指定者:
类 OutputStream 中的 write
参数:
b - 要写入的字节。
抛出:
IOException - 如果发生 I/O 错误。
write
public void write(byte[] b) throws IOException
将 b.length 个字节从指定 byte 数组写入此文件输出流中。
覆盖:
类 OutputStream 中的 write
参数:
b - 数据。
抛出:
IOException - 如果发生 I/O 错误。
write
public void write(byte[] b, int off, int len) throws IOException
将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此文件输出流。
覆盖:
类 OutputStream 中的 write
参数:
b - 数据。
off - 数据中的起始偏移量。
len - 要写入的字节数。
抛出:
IOException - 如果发生 I/O 错误。
close
public void close() throws IOException
关闭此文件输出流并释放与此流有关的所有系统资源。此文件输出流不能再用于写入字节。
如果此流有一个与之关联的通道,则关闭该通道。
指定者:
接口 Closeable 中的 close
覆盖:
类 OutputStream 中的 close
抛出:
IOException - 如果发生 I/O 错误。
getFD
public final FileDescriptor getFD() throws IOException
返回与此流有关的文件描述符。
返回:
表示到文件系统中的某个文件的连接的 FileDescriptor 对象,该文件系统正被此 FileOutputStream 对象使用。
抛出:
IOException - 如果发生 I/O 错误。
getChannel
public FileChannel getChannel()
返回与此文件输出流有关的唯一 FileChannel 对象。
所返回通道的初始 java.nio.channels.FileChannel#position()position 将等于到目前为止从文件中读取的字节数,除非此流处于挂起模式,在这种情况下,它将等于文件的大小。将字节写入此流中会使通道的位置相应地增加。显式地或通过写入来更改通道的位置会更改此流的文件位置。
返回:
与此文件输出流有关的文件通道
finalize
protected void finalize() throws IOException
清理到文件的连接,并确保在不再引用此文件输出流时调用此流的 close 方法。
覆盖:
类 Object 中的 finalize
抛出:
IOException - 如果发生 I/O 错误。