字节输出流,从内存到硬盘
1.构造方法
构造方法 | 作用 |
---|---|
FileOutputStream(File file) | 创建文件输出流以写入由指定的 File对象表示的文件 |
FileOutputStream(File file, boolean append) | 创建文件输出流以写入由指定的 File对象表示的文件 |
FileOutputStream(FileDescriptor fdObj) | 创建文件输出流以写入指定的文件描述符,表示与文件系统中实际文件的现有连接 |
FileOutputStream(String name) | 创建文件输出流以指定的名称写入文件 |
FileOutputStream(String name, boolean append) | 创建文件输出流以指定的名称写入文件 |
2.调用write方法去写
package com.io; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class FileOutputStreamTest01 { public static void main(String[] args) { FileOutputStream fos=null; try { //文件不存在时会创建,再次运行会将文件清空之后再重新写入 fos = new FileOutputStream("OutTest"); //开始写 //定义一个数组 byte[] bytes={98,99,100,68,69,70}; //将数组写入到文件中去 fos.write(bytes); //将数组的一部分写入到文件中去 fos.write(bytes,0,2); //写完之后一定要记得刷新 fos.flush(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (fos == null) { try { fos.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
可以看到,当文件不存在的时候会在idea的根下面新建一个文件
可以看到文件被写入成功!
可以看出,当我们再次运行的时候,文件会被清空,那如果我们想添加内容,原文件内容保留下来,怎么进行操作!只需执行追加操作即可,即在文件路径后面用逗号隔开,跟一个true,因为追加操作默认为false
fos = new FileOutputStream("OutTest",true);
我们在往文件里重新添加一个字符串,只需用getbyte方法将字符串转换为数组即可!
String s="我们要趁着年轻做些有意义的事情,而不应该觉得自己年轻,开始挥霍时光"; //我们将字符串转换为数组 byte[] s2=s.getBytes(); fos.write(s2); fos.flush();
结果如下: