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