BufferedReader 和 BufferedWriter 从控制台读写文件

该博客介绍了Java中BufferedReader和BufferedWriter的使用,这两个类用于实现文件的读写操作,并具有缓冲功能。通过示例代码展示了如何从控制台读取数据并写入文件,使用write()方法写入数据到缓存,调用flush()方法将缓存内容写入文件,以及newLine()方法添加行分隔符。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基础知识

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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值