java.io

接口
异常
错误
java.lang.Object
  继承者 java.io.OutputStream
      继承者 java.io.FileOutputStream
所有已实现的接口:
Closeable, Flushable

public class FileOutputStream
     
extends OutputStream

文件输出流是用于将数据写入 FileFileDescriptor 的输出流。文件是否可用或能否可以被创建取决于基础平台。特别是某些平台一次只允许一个 FileOutputStream(或其他文件写入对象)打开文件进行写入。在这种情况下,如果所涉及的文件已经打开,则此类中的构造方法将失败。

FileOutputStream 用于写入诸如图像数据之类的原始字节的流。要写入字符流,请考虑使用 FileWriter

从以下版本开始:
JDK1.0
另请参见:
File, FileDescriptor, FileInputStream

构造方法摘要
FileOutputStream(File file)
          创建一个向指定 File 对象表示的文件中写入数据的文件输出流。
FileOutputStream(File file, boolean append)
          创建一个向指定 File 对象表示的文件中写入数据的文件输出流。
FileOutputStream(FileDescriptor fdObj)
          创建一个向指定文件描述符处写入数据的输出文件流,该文件描述符表示一个到文件系统中的某个实际文件的现有连接。
FileOutputStream(String name)
          创建一个向具有指定名称的文件中写入数据的输出文件流。
FileOutputStream(String name, boolean append)
          创建一个向具有指定 name 的文件中写入数据的输出文件流。
 
方法摘要
 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 方法拒绝对文件进行写入访问。
另请参见:
SecurityManager.checkWrite(java.lang.String)

FileOutputStream

public FileOutputStream(String name,
                        boolean append)
                 throws FileNotFoundException
创建一个向具有指定 name 的文件中写入数据的输出文件流。如果第二个参数为 true,则将字节写入文件末尾处,而不是写入文件开始处。创建一个新 FileDescriptor 对象来表示此文件连接。

首先,如果有安全管理器,则用 name 作为参数调用 checkWrite 方法。

如果该文件存在,但它是一个目录,而不是一个常规文件;或者该文件不存在,但无法创建它;抑或因为其他某些原因而无法打开它,则抛出 FileNotFoundException

参数:
name - 与系统有关的文件名
append - 如果为 true,则将字节写入文件末尾处,而不是写入文件开始处
抛出:
FileNotFoundException - 如果该文件存在,但它是一个目录,而不是一个常规文件;或者该文件不存在,但无法创建它;抑或因为其他某些原因而无法打开它。
SecurityException - 如果存在安全管理器,且其 checkWrite 方法拒绝对文件进行写入访问。
从以下版本开始:
JDK1.1
另请参见:
SecurityManager.checkWrite(java.lang.String)

FileOutputStream

public FileOutputStream(File file)
                 throws FileNotFoundException
创建一个向指定 File 对象表示的文件中写入数据的文件输出流。创建一个新 FileDescriptor 对象来表示此文件连接。

首先,如果有安全管理器,则用 file 参数表示的路径作为参数来调用 checkWrite 方法。

如果该文件存在,但它是一个目录,而不是一个常规文件;或者该文件不存在,但无法创建它;抑或因为其他某些原因而无法打开,则抛出 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 对象来表示此文件连接。

首先,如果有安全管理器,则用 file 参数表示的路径作为参数来调用 checkWrite 方法。

如果该文件存在,但它是一个目录,而不是一个常规文件;或者该文件不存在,但无法创建它;抑或因为其他某些原因而无法打开它,则抛出 FileNotFoundException

参数:
file - 为了进行写入而打开的文件。
append - 如果为 true,则将字节写入文件末尾处,而不是写入文件开始处
抛出:
FileNotFoundException - 如果该文件存在,但它是一个目录,而不是一个常规文件;或者该文件不存在,但无法创建它;抑或因为其他某些原因而无法打开它
SecurityException - 如果存在安全管理器,且其 checkWrite 方法拒绝对文件进行写入访问。
从以下版本开始:
1.4
另请参见:
File.getPath(), SecurityException, SecurityManager.checkWrite(java.lang.String)

FileOutputStream

public FileOutputStream(FileDescriptor fdObj)
创建一个向指定文件描述符处写入数据的输出文件流,该文件描述符表示一个到文件系统中的某个实际文件的现有连接。

首先,如果有安全管理器,则用文件描述符 fdObj 参数作为参数来调用 checkRead 方法。

参数:
fdObj - 为进行写入而打开的文件描述符
抛出:
SecurityException - 如果存在安全管理器,且其 checkWrite 方法拒绝对文件描述符进行写入访问
另请参见:
SecurityManager.checkWrite(java.io.FileDescriptor)
方法详细信息

write

public void write(int b)
           throws IOException
将指定字节写入此文件输出流。实现 OutputStreamwrite 方法。

指定者:
OutputStream 中的 write
参数:
b - 要写入的字节。
抛出:
IOException - 如果发生 I/O 错误。

write

public void write(byte[] b)
           throws IOException
b.length 个字节从指定 byte 数组写入此文件输出流中。

覆盖:
OutputStream 中的 write
参数:
b - 数据。
抛出:
IOException - 如果发生 I/O 错误。
另请参见:
OutputStream.write(byte[], int, int)

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 错误。
另请参见:
FileDescriptor

getChannel

public FileChannel getChannel()
返回与此文件输出流有关的唯一 FileChannel 对象。

所返回通道的初始 java.nio.channels.FileChannel#position()position 将等于到目前为止从文件中读取的字节数,除非此流处于挂起模式,在这种情况下,它将等于文件的大小。将字节写入此流中会使通道的位置相应地增加。显式地或通过写入来更改通道的位置会更改此流的文件位置。

返回:
与此文件输出流有关的文件通道
从以下版本开始:
1.4

finalize

protected void finalize()
                 throws IOException
清理到文件的连接,并确保在不再引用此文件输出流时调用此流的 close 方法。

覆盖:
Object 中的 finalize
抛出:
IOException - 如果发生 I/O 错误。
另请参见:
FileInputStream.close()