BufferedWriter缓存流笔记与例题

来源:互联网 发布:药监局数据库 编辑:程序博客网 时间:2024/06/06 04:41

BufferedWriter是一个字符(缓冲)输出流,和FileWriter差不多,但是底层封装了一个长度为8192的字符数组作为缓冲,
可以提高效率.
使用步骤:
1.先创建一个普通的FileWriter对象
2.再将FileWriter对象包装成BufferedWriter对象
BufferedWriter(FileWriter fw):将fw对象封装成BufferedWriter对象
分析:通过上面的构造方法,发现,直接操作文件的还是FileWriter,所以FileWriter所具有的方法,BufferedWriter全都有,
只不过BufferedWriter提供了更为方便的其它方法,而且可以提高效率
3.使用和FileWriter基本类似
举例:
FileWriter fw = new FileWriter(“file08.txt”);
BufferedWriter bw = new BufferedWriter(fw);

4.BufferedWriter提供的更为方便的方法
void newLine():写一个换行符,这个换行符由系统决定,自适应系统,是跨平台的

    注意:BufferedWriter不建议手动执行flush操作    只需要关闭BufferedWriter集合,他说关联的FileWriter不用关闭

public static void main(String[] args) throws IOException{        //1.创建一个Student类,成员属性name和age,用private修饰,空参和全参构造方法,get和set方法        //2.创建ArrayList集合对象,泛型是Student        ArrayList<Student> alStu = new ArrayList<>();        //4.创建多个Student对象,将多个学生对象存入集合当中        for(int i=0;i<10;i++){            Student stu = new Student();            stu.setName("王五"+i);            stu.setAge(13+i);            alStu.add(stu);        }        //5.创建字符缓冲流(BufferedWriter)对象并和studentInfo.txt文件相关联        BufferedWriter br = new BufferedWriter(new FileWriter("studentInfo.txt"));        //遍历集合        for (int i = 0; i < alStu.size(); i++) {            StringBuilder sb = new StringBuilder();            //将Student对象拼接成一个字符串,约定学生对象的属性之间用英文的逗号隔开            sb.append("姓名:").append(alStu.get(i).getName()).append(" ,年龄:").append(alStu.get(i).getAge());            br.write(sb.toString());            //(4)写入换行            br.newLine();        }        //关闭流,释放资源        br.close();    }
原创粉丝点击