字节流写入文件
FileOutputStream是OutputStream的子类,专门用于把数据写入文件。
一、三种写入方式
//创建一个文件字节输入流
FileOutputStream file = new FileOutputStream("myByteStream\\example.txt");
/*
做了三件事情:
1.调用系统功能创建了文件
2.创建了字节输出流对象
3.让字节输出流对象指向创建好的文件
*/
//void write(int b) 向输出流写入一个字节
file.write(97);//记事本中显示的是a
//void write(byte[] b) 把参数b指定的字节数组的所有字节写到输出流
byte[] bys = {a,b,c,d,e};
file.write(bys);
//String类中方法:返回字符串中对应的字节数组
byte[] bys2 ="abcde".getBytes();
file.write(bys2)
//void write(byte[]b,int off,int len)将指定的byte数组中从偏移量off开始的len个字节写入输出流
file.write(bys2,1,3);//文档中显示bcd
//关闭此输出流并释放与此流相关的系统资源
file.close();
二、文本中换行问题
写完数据后加换行符
windows中\r\n
linux中\n
mac中\r
file.write("\r\n".getBytes());
三、追加写入数据
如果是通过FileOutputStream向一个已经存在的文件中写入数据,那么该文件中的数据首先会被清空,再写入新的数据。
若希望在已存在的文件内容之后追加新内容,则可使用FileOutputStream的构造函数FileOutputStream(String fileName ,boolean append)来创建文件输出流对象,并把append参数的值设置为true
FileOutputStream file = new FileOutputStream("example.txt",true);