Java输出流FileOutputStream使用详解
1、前面介绍了如何应用输入流FileInputStream从本地文件读取数据。本节介绍应用输出流FileOutputStream把数据写入本地文件。用FileOutputStream写入文件流程如下:

3、场景2:不使用File对象,直接传入文件路径。FileOutputStream的构造方法允许直接传入文件路径,而无须使用File对象。查看该构造方法的源代码,其内部使用了File对象打开文件。

5、场景要求在文件的尾部写入数据,由于前面两个构造函数都是文件开始写入数据(覆盖原文件),因此不能使用前面2个场珥许枳做景的构造函数。FileOutputStream提供了另外两个构构造方法,分别是:FileOutputStream(File file, boolean append);FileOutputStream(String name, boolean append);同前面的构造方法相比,这两个构造方法各多了一个boolean参数append。append参数为true时,数据从文件尾部写入;append参数为false时,数据覆盖原文件。FileOutputStream的写入方法FileOutputStream类提供了多种文件写入方法,可以单独写一个字节到文件,也可以写一个byte数组到文件,也可以取byte数组的部分数据写入到文件。例1:使用write(int b)方法写入文件。

7、String类的getBytes()方法可以将字符串转换为byte数组,使用FileOutputStream 类的write(byte[] b)方法,将转换的byte数组写入文件。例3:使用write(byte[] b,int off,int len)方法写入文件。该方法将len个字节的数据,并从数组b的off位置开始写入到输出流。

9、代码中的copyFile完成文件的复制,在复制之前,先判断一下源文件是否存在,然后申请一个byte数组,用于存储读取的源文件数据,该数组大小与源文件总字节数相同,读取成功后,再将数组内容写入到目标文件。程序输出结果如下图所示:
