java IO缓冲流: BufferedInputStream BufferedOutputStream

概述:

缓冲流主要为了增强基础流的效率而存在,不用缓冲流的话,程序是读一个数据,写一个数据,大量占用了CPU,(本来CPU可以一次多处理内容的)处理这样在数据量大的程序中非常影响效率。缓冲流作用是把数据先写入缓冲区,等缓冲区满了,再把数据写到文件里。这样效率就大大提高了。
缓冲流,也叫高效流,是对4个基本的 FileXxx 流的增强,所以也是4个流,按照数据类型分类:
字节缓冲流:BufferedInputStream,BufferedOutputStream
字符缓冲流:BufferedReader,BufferedWriter
缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO
次数,从而提高读写的效率。
在这里插入图片描述

用法

创建缓冲流

// 创建字节缓冲输入流
BufferedInputStream bis = new BufferedInputStream(new FileInputStream("bis.txt"));
// 创建字节缓冲输出流
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("bos.txt"));

写入

bos.writer("Demo");
bos.newLine();

读取

bis.read()

释放资源

bos.close();
bis.close();

Demo:

package FileAndIO;

import java.io.*;

public class BufferedWriterAndReader {
    public static void main(String[] args) throws IOException {
//        writer();
        reader();
    }

    private static void reader() throws IOException {
        //创建文件输入流以及字符缓冲输入流对象。
        FileReader fileReader = new FileReader("Demo//demo.txt");
        BufferedReader bufferedReader = new BufferedReader(fileReader);
        //循环遍历读出文件内容
        String line = null;
        while ((line = bufferedReader.readLine()) != null) {
            System.out.println(line);
        }
        bufferedReader.close();
        fileReader.close();
    }

    private static void writer() throws IOException {
        //新建文件输出流,字节缓冲输出流,传入文件输出流对象。
        FileWriter fileWriter = new FileWriter("Demo//demo.txt");
        BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
        //用write方法写入字符串,newline换行
        bufferedWriter.write("测试缓冲流");
        bufferedWriter.newLine();
        bufferedWriter.write("测试缓冲流");
        //释放资源
        bufferedWriter.close();
        fileWriter.close();
    }

}

缓冲流可以极大提升读取写入数据,具体可以自行测试。

下期转换流

发布了24 篇原创文章 · 获赞 10 · 访问量 741
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 游动-白 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览