public class FileOutputStream
extends OutputStream
java.lang.Object | ||
↳ | java.io.OutputStream | |
↳ | java.io.FileOutputStream |
Known Direct Subclasses |
Known Indirect Subclasses |
文件输出流是用于将数据写入File
或FileDescriptor
的输出流。 文件是否可用或可以创建取决于底层平台。 特别是,某些平台允许一次只打开一个文件,以便只写入一个FileOutputStream (或其他文件写入对象)。 在这种情况下,如果涉及的文件已经打开,该类中的构造函数将失败。
FileOutputStream
用于写入诸如图像数据之类的原始字节流。 要编写字符流,请考虑使用FileWriter
。
Public constructors |
|
---|---|
FileOutputStream(String name) 创建文件输出流以写入具有指定名称的文件。 |
|
FileOutputStream(String name, boolean append) 创建文件输出流以写入具有指定名称的文件。 |
|
FileOutputStream(File file) 创建文件输出流以写入由指定的 |
|
FileOutputStream(File file, boolean append) 创建文件输出流以写入由指定的 |
|
FileOutputStream(FileDescriptor fdObj) 创建文件输出流以写入指定的文件描述符,该文件描述符表示与文件系统中实际文件的现有连接。 |
Public methods |
|
---|---|
void |
close() 关闭此文件输出流并释放与此流关联的所有系统资源。 |
FileChannel |
getChannel() 返回与此文件输出流关联的唯一 |
final FileDescriptor |
getFD() 返回与此流关联的文件描述符。 |
void |
write(byte[] b) 将指定字节数组中的 |
void |
write(byte[] b, int off, int len) 将从偏移量 |
void |
write(int b) 将指定的字节写入此文件输出流。 |
Protected methods |
|
---|---|
void |
finalize() 清理与文件的连接,并确保在没有更多引用此流时调用此文件输出流的 |
Inherited methods |
|
---|---|
From class java.io.OutputStream
|
|
From class java.lang.Object
|
|
From interface java.io.Closeable
|
|
From interface java.io.Flushable
|
|
From interface java.lang.AutoCloseable
|
FileOutputStream (String name)
创建文件输出流以写入具有指定名称的文件。 将创建一个新的FileDescriptor
对象来表示此文件连接。
首先,如果有安全管理器, checkWrite
name
作为参数调用其 checkWrite
方法。
如果文件存在但是目录而不是常规文件,不存在但无法创建,或者由于其他原因无法打开,则引发 FileNotFoundException
。
Parameters | |
---|---|
name |
String : the system-dependent filename |
Throws | |
---|---|
FileNotFoundException |
if the file exists but is a directory rather than a regular file, does not exist but cannot be created, or cannot be opened for any other reason |
SecurityException |
if a security manager exists and its checkWrite method denies write access to the file. |
也可以看看:
FileOutputStream (String name, boolean append)
创建文件输出流以写入具有指定名称的文件。 如果第二个参数是true
,那么字节将被写入文件的末尾而不是开始。 将创建一个新的FileDescriptor
对象来表示此文件连接。
首先,如果有安全管理员, checkWrite
name
作为参数调用其 checkWrite
方法。
如果文件存在但是目录而不是常规文件,不存在但无法创建,或者由于其他原因无法打开,则引发 FileNotFoundException
。
Parameters | |
---|---|
name |
String : the system-dependent file name |
append |
boolean : if true , then bytes will be written to the end of the file rather than the beginning |
Throws | |
---|---|
FileNotFoundException |
if the file exists but is a directory rather than a regular file, does not exist but cannot be created, or cannot be opened for any other reason. |
SecurityException |
if a security manager exists and its checkWrite method denies write access to the file. |
也可以看看:
FileOutputStream (File file)
创建文件输出流以写入由指定的File
对象表示的文件。 将创建一个新的FileDescriptor
对象来表示此文件连接。
首先,如果存在安全管理器,那么将其 checkWrite
方法的参数作为 file
参数所表示的路径进行调用。
如果文件存在但是目录而不是常规文件,不存在但无法创建,或者由于其他原因无法打开,则引发 FileNotFoundException
。
Parameters | |
---|---|
file |
File : the file to be opened for writing. |
Throws | |
---|---|
FileNotFoundException |
if the file exists but is a directory rather than a regular file, does not exist but cannot be created, or cannot be opened for any other reason |
SecurityException |
if a security manager exists and its checkWrite method denies write access to the file. |
FileOutputStream (File file, boolean append)
创建文件输出流以写入由指定的File
对象表示的文件。 如果第二个参数是true
,那么字节将写入文件的末尾而不是开头。 将创建一个新的FileDescriptor
对象来表示此文件连接。
首先,如果存在安全管理器, checkWrite
file
参数表示的路径作为其参数调用其 checkWrite
方法。
如果文件存在但是目录而不是常规文件,不存在但无法创建,或者由于其他原因无法打开,则引发 FileNotFoundException
。
Parameters | |
---|---|
file |
File : the file to be opened for writing. |
append |
boolean : if true , then bytes will be written to the end of the file rather than the beginning |
Throws | |
---|---|
FileNotFoundException |
if the file exists but is a directory rather than a regular file, does not exist but cannot be created, or cannot be opened for any other reason |
SecurityException |
if a security manager exists and its checkWrite method denies write access to the file. |
FileOutputStream (FileDescriptor fdObj)
创建文件输出流以写入指定的文件描述符,该文件描述符表示与文件系统中实际文件的现有连接。
首先,如果存在安全管理器,则使用文件描述符 fdObj
作为其参数调用其 checkWrite
方法。
如果 fdObj
为空,则引发 NullPointerException
。
如果fdObj
是invalid
此构造函数不会引发异常。 但是,如果在结果流上调用方法以尝试对流进行I / O, IOException
引发IOException
。
Parameters | |
---|---|
fdObj |
FileDescriptor : the file descriptor to be opened for writing |
Throws | |
---|---|
SecurityException |
if a security manager exists and its checkWrite method denies write access to the file descriptor |
void close ()
关闭此文件输出流并释放与此流关联的所有系统资源。 该文件输出流可能不再用于写入字节。
如果此流具有关联的频道,那么该频道也会关闭。
Throws | |
---|---|
IOException |
if an I/O error occurs. |
FileChannel getChannel ()
返回与此文件输出流关联的唯一 FileChannel
对象。
返回通道的初始 position
将等于目前写入文件的字节数,除非此流处于附加模式,在这种情况下,它将等于文件的大小。 将字节写入此流将相应地增加通道的位置。 改变频道的位置,无论是明确的还是书面的,都会改变这个流的文件位置。
Returns | |
---|---|
FileChannel |
the file channel associated with this file output stream |
FileDescriptor getFD ()
返回与此流关联的文件描述符。
Returns | |
---|---|
FileDescriptor |
the FileDescriptor object that represents the connection to the file in the file system being used by this FileOutputStream object. |
Throws | |
---|---|
IOException |
if an I/O error occurs. |
也可以看看:
void write (byte[] b)
将 b.length
字节从指定的字节数组写入此文件输出流。
Parameters | |
---|---|
b |
byte : the data. |
Throws | |
---|---|
IOException |
if an I/O error occurs. |
void write (byte[] b, int off, int len)
将 len
字节从指定字节数组开始偏移 off
写入此文件输出流。
Parameters | |
---|---|
b |
byte : the data. |
off |
int : the start offset in the data. |
len |
int : the number of bytes to write. |
Throws | |
---|---|
IOException |
if an I/O error occurs. |
void write (int b)
将指定的字节写入此文件输出流。 实现write
的方法OutputStream
。
Parameters | |
---|---|
b |
int : the byte to be written. |
Throws | |
---|---|
IOException |
if an I/O error occurs. |
void finalize ()
清理与文件的连接,并确保在没有更多引用此流时调用此文件输出流的 close
方法。
Throws | |
---|---|
IOException |
if an I/O error occurs. |
也可以看看: