一 FileOutputStream概述
文件输出流是用于将数据写入File或FileDescriptor的输出流。 文件是否可用或是否可以创建取决于底层平台。 特别是某些平台允许一次仅打开一个文件以供写入FileOutputStream (或其他文件写入对象)。 在这种情况下,如果涉及的文件已经打开,则此类中的构造函数将失败。
二 FileOutputStream的构造方法
1. public FileOutputStream(String name) throws FileNotFoundException
1)作用
创建文件输出流以写入具有指定名称的文件。 创建一个新的FileDescriptor对象来表示此文件连接。
2)参数
name - 依赖于系统的文件名。
3)异常
FileNotFoundException - 如果文件存在但是是目录而不是常规文件,则不存在但无法创建,或者由于任何其他原因无法打开。
SecurityException - 如果存在安全管理器且其 checkWrite方法拒绝对该文件的写访问权。
2. public FileOutputStream(String name, boolean append) throws FileNotFoundException
1)作用
创建文件输出流以写入具有指定名称的文件。 如果第二个参数是true ,则字节将写入文件的末尾而不是开头,以追加的方式写入。 创建一个新的FileDescriptor对象来表示此文件连接。
2)参数
name - 与系统相关的文件名
append - 如果是 true ,那么字节将被写入文件的末尾而不是开头,以追加的方式写
3)异常
FileNotFoundException - 如果文件存在但是是目录而不是常规文件,则不存在但无法创建,或者由于任何其他原因无法打开。
SecurityException - 如果存在安全管理器且其 checkWrite方法拒绝对该文件的写访问权。
3. public FileOutputStream(File file)throws FileNotFoundException
1)作用
创建文件输出流以写入由指定的File对象表示的文件。 创建一个新的FileDescriptor对象来表示此文件连接。
2)参数
file - 要写入的文件。
3)异常
FileNotFoundException - 如果文件存在但是是目录而不是常规文件,则不存在但无法创建,或者由于任何其他原因无法打开
SecurityException - 如果存在安全管理器且其 checkWrite方法拒绝对该文件的写访问权。
4. public FileOutputStream(File file, boolean append)throws FileNotFoundException
1)作用
创建文件输出流以写入由指定的File对象表示的文件。 如果第二个参数是true ,则字节将写入文件的末尾而不是开头。 创建一个新的FileDescriptor对象来表示此文件连接。
2)参数
file - 要写入的文件。
append - 如果是 true ,那么字节将被写入文件的末尾而不是开头
3)异常
FileNotFoundException - 如果文件存在但是是目录而不是常规文件,则不存在但无法创建,或者由于任何其他原因无法打开
SecurityException - 如果存在安全管理器且其 checkWrite方法拒绝对该文件的写访问权。
5. public FileOutputStream(FileDescriptor fdObj)
1)作用
创建要写入指定文件描述符的文件输出流,该文件描述符表示与文件系统中实际文件的现有连接。
2)参数
fdObj - 要写入的文件描述符
3)异常
SecurityException - 如果存在安全管理器且其 checkWrite方法拒绝对文件描述符的写访问权
三 常用方法
1. public void write(int b) throws IOException
1)作用
将指定的字节写入此文件输出流。 实现write的方法OutputStream 。
2)参数
b - 要写入的字节。
3)异常
IOException - 如果发生I / O错误。
2. public void write(byte[] b) throws IOException
1)作用
将指定字节数组中的 b.length个字节写入此文件输出流。
2)参数
b - 数据。
3)异常
IOException - 如果发生I / O错误。
3. public void write(byte[] b, int off, int len) throws IOException
1)作用
将从偏移量为 off的指定字节数组中的 len字节写入此文件输出流。
2)参数
b - 数据。
off - 数据中的起始偏移量。
len - 要写入的字节数。
3)异常
IOException - 如果发生I / O错误。
4. public void close() throws IOException
1)作用
关闭此文件输出流并释放与此流关联的所有系统资源。 此文件输出流可能不再用于写入字节。
2)异常
IOException - 如果发生I / O错误。
五 案例
package cn.donglinode.IO;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileOutputStreamDemo01 {
public static void main(String[] args) {
File file=new File("chapter16/src/tempFile.text");
FileOutputStream fos=null;
try {
fos=new FileOutputStream(file,true);
String str="热巴是个小仙女!";
//写出
fos.write(str.getBytes());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
//关闭流,首先判断流是否为空,空的话就不用关了
try {
if (fos!=null){
fos.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
注意:在IDEA中,当前路径是project的根目录