12.2.3 文件字节输出流类FileOutputStream

12.2.3 文件字节输出流类FileOutputStream

FileOutputStream类主要用于文件的输出,它的对象可以顺序地向本地机上的文件中写数据。

1.FileOutputStream类的常用构造方法

• FileOutputStream(String name)throws FileNotFoundException

用本地机上的文件name构造文件字节输出流。

• FileOutputStream(File fileName)throws FileNotFoundException

用本地机上的文件filleName构造文件字节输出流。

• FileOutputStream(String name,Boolean app)throws FileNotFoundException

用本地机上的文件name构造写文件方式为app的文件字节输出流。其中,app为true表示添加到文件尾部,app为false表示覆盖原来文件。

FileOutputStream类是OutputStream类的子类,它重写了OutputStream类中的write()方法,也继承了OutputStream类中的定义的方法。

2.写入字节的方法

使用write方法将指定的字节写入文件输出流。

img502

说明:write方法可以向文件写入一个字节、一个字节数组或一个字节数组的一部分。

当b是int类型时,b占用4个字节32位,通常是把b的低8位写入输出流,忽略其余高24位。

当b是字节数组时,可以写入从off位置开始的len个字符,如果没有off和len参数,则写入所有字节,相当于write(b,0,b.length)。

发生I/O错误或文件关闭时,抛出IOException异常。如果off或len为负数或off+len大于数组b的长度length,则抛出IndexOutBoundsException异常;如果b是空数组,则抛出NullPointerException异常。

用OutputStream对象写入时,如果文件不存在,则会创建一个新文件,如果文件已存在,使用重写方式则会覆盖原有数据。

3.关闭输出流

img503

close方法关闭输出流,并释放相关的系统资源。发生I/O错时,抛出IOException异常。