java中bufferewriter的使用报错

为什么BufferedReaderWriterDemo2.txt的内容无法显示,还报错了
import java.io.*;
public class Liu3 {
    public static void main(String args[]) throws Exception {
            BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
            //缓冲FileWriter
            File out=new File("d:\\BufferedReaderWriterDemo.txt");
            BufferedWriter bfw = new BufferedWriter(new FileWriter(out));
            File out1=new File("d:\\BufferedReaderWriterDemo1.txt");
            BufferedWriter bfw1 = new BufferedWriter(new FileWriter(out1));
            String input = null;
            //每读一行进行一次写入动作
            while(!(input = bfr.readLine()).equals("quit"))
            {
                    bfw.write(input);//将输入的非"quit"字符串写入BufferedReaderWriterDemo.txt文件
                    bfw.newLine(); //newLine()方法写入与操作系统相依的换行字符,依执行环境当时的OS来决定该输出那种换行字符
            }
            bfw.close();
            String str = null;
            while ((str = bfr.readLine()) != null) {
                    bfw1.write(str);// 为读取的文本行添加回车
                    System.out.println("在这");break;
            }
            bfr.close();
            bfw1.close();
            File f=new File("d:\\BufferedReaderWriterDemo.txt");
            Reader rd=new InputStreamReader(new FileInputStream(f));//将字节流变为字符流
            char[] c=new char[1000];//利用数组给出一个1000的空间
            int len=rd.read(c);//从输入流中“读取文件内容元素个数”付给len
            System.out.println("BufferedReaderWriterDemo.txt的内容是:");
            System.out.println(new String(c,0,len));//String构造方法把数组转化为字符串
            rd.close();

            File f1=new File("d:\\BufferedReaderWriterDemo1.txt");
            Reader rd1=new InputStreamReader(new FileInputStream(f1));//将字节流变为字符流
            char[] c1=new char[1000];//利用数组给出一个1000的空间
            int len1=rd1.read(c1);//从输入流中“读取文件内容元素个数”付给len
            System.out.println("BufferedReaderWriterDemo1.txt的内容是:");
            System.out.println(new String(c1,0,len1));//String构造方法把数组转化为字符串
            rd1.close();
}
}

修改后的代码

import java.io.*;

public class Liu3 {
    public static void main(String args[]) throws Exception {
            BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
            //缓冲FileWriter
            File out=new File("d:\\BufferedReaderWriterDemo.txt");
            BufferedWriter bfw = new BufferedWriter(new FileWriter(out));
            File out1=new File("d:\\BufferedReaderWriterDemo1.txt");
            BufferedWriter bfw1 = new BufferedWriter(new FileWriter(out1));
            String input = null;
            //每读一行进行一次写入动作
            while(!(input = bfr.readLine()).equals("quit"))
            {
                    bfw.write(input);//将输入的非"quit"字符串写入BufferedReaderWriterDemo.txt文件
                    bfw.newLine(); //newLine()方法写入与操作系统相依的换行字符,依执行环境当时的OS来决定该输出那种换行字符
            }
            bfw.close();
            String str = null;
            while ((str = bfr.readLine()) != null) {
                    bfw1.write(str);// 为读取的文本行添加回车
                    System.out.println("在这");break;
            }
            bfr.close();
            bfw1.close();
            File f=new File("d:\\BufferedReaderWriterDemo.txt");
            Reader rd=new InputStreamReader(new FileInputStream(f));//将字节流变为字符流
            char[] c=new char[1000];//利用数组给出一个1000的空间
            int len=rd.read(c);//从输入流中“读取文件内容元素个数”付给len
            System.out.println("BufferedReaderWriterDemo.txt的内容是:");
            System.out.println(new String(c,0,len));//String构造方法把数组转化为字符串
            rd.close();

            File f1=new File("d:\\BufferedReaderWriterDemo1.txt");
            Reader rd1=new InputStreamReader(new FileInputStream(f1));//将字节流变为字符流
            char[] c1=new char[1000];//利用数组给出一个1000的空间
            int len1=rd1.read(c1);//从输入流中“读取文件内容元素个数”付给len
            System.out.println("BufferedReaderWriterDemo1.txt的内容是:");
            System.out.println(new String(c1,0,len1));//String构造方法把数组转化为字符串
            rd1.close();
        }
    }

img

确实没改动

你这个代码哪里有 BufferedReaderWriterDemo2.txt ?