前言
前面学习了字符输入流,见下图,本节学习字节输出流
字节流 | 字符流 | |
---|---|---|
输入流 | InputStream | Reader |
输出流 | OutPutStream | Writer |
一、 FileOutputStream
FileOutputStream是Java的一个输出流类,可以用来向文件写入数据。
二、构造方法
1、创建文件输出流以写入由指定的 File对象表示的文件。
//创建输出流,如果没有文件,则先创建文件再输出数据,注意:只能创建文件,不能创建目录
//FileOutputStream(File file)
FileInputStream fism1=new FileInputStream("src/one.text");
2、创建文件输出流以写入指定的文件描述符,表示与文件系统中实际文件的现有连接。
——文件描述符上节已提到
//FileOutputStream(FileDescriptor fdObj)
FileOutputStream oism2=new FileOutputStream("1163157884");
3、创建文件输出流以指定的名称写入文件。
//FileOutputStream(String name)
FileOutputStream oism3=new FileOutputStream("src/two.text");
三、常用方法
FileInputStream fism1=new FileInputStream("src/one.text");
FileOutputStream oism=new FileOutputStream("src/two.text");
byte[]bytes=new byte[10];
int count=0;
while ((count=fism1.read(bytes))!=-1){
//1、将 b.length个字节从指定的字节数组写入此文件输出流。
oism.write(bytes);
//2、向文件写入字节数组的一部分
oism.write(bytes,0,5);
//3、将指定的字节写入此文件输出流。
oism.write(bytes[1]);
}
fism1.close();
oism.close();
注意:每次使用 FileOutputStream 写入数据时,它会覆盖文件原有的内容,为了不让数据丢失,我们设置FileOutputStream以追加的方式写入数据,在构造方法中加入参数true
。
FileOutputStream oism=new FileOutputStream("src/two.text",true);