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 错误。

 

posted @ 2015-07-27 18:57  程序员袍子  阅读(213)  评论(0编辑  收藏  举报