欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java IO缓冲流: BufferedInputStream BufferedOutputStream

程序员文章站 2024-03-07 08:18:38
...

概述:

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

用法

创建缓冲流

// 创建字节缓冲输入流
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();
    }

}

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

下期转换流

相关标签: Java基础