BufferedReader 和 BufferedWriter 从控制台读写文件

基础知识

BufferedReader 和 BufferedWriter 分别继承Reader类和Writer类,具有内部缓存机制,特点是可以以行为单位进行输入输出。
输入时使用newLine()方法可以写入一个行分隔符(就是换行啦)。
使用BufferedWriter类的Write()方法时,数据并没有立刻写入文件,而是先进入缓存区。若要立刻存入文件,用调用flush()方法。(用例看代码块)

代码块


```java
public class test {
    public static void main(String[] args) throws IOException {
        //创建文件
        File file = new File("G:\\file.txt");
        if(!file.exists()){
            file.createNewFile();
            System.out.println(file.getName()+"文件已创建!");
        }
        try{
            Scanner in = new Scanner(System.in);
            BufferedReader br = new BufferedReader(new FileReader(file));
            BufferedWriter bw = new BufferedWriter(new FileWriter(file));
            String s = new String();
            //从控制台输入数据并写入文件
            while(true){
                s = in.nextLine();
                if (s.equals("")){
                    break;
                }
                bw.write(s);
                bw.flush();//刷新将缓存区的数据写入文件
                bw.newLine();//写入一个行分隔符
            }
            //读文件
            char []byt = new char[1024];//创建一个字符数组作为缓存区
            int len = br.read(byt);
            System.out.println(new String(byt,0,len));
            in.close();
            bw.close();
            br.close();
        }catch(Exception E){
            E.printStackTrace();
        }
    }
}
## 运行结果
![在这里插入图片描述](https://img-blog.csdnimg.cn/5abdaca63d764e75ba9ed2785651f188.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAamlhaGFpdGFvMDE=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/2b93a0a3e52646b8ab8c2eb389e108ef.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAamlhaGFpdGFvMDE=,size_17,color_FFFFFF,t_70,g_se,x_16)

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值