java 缓冲流

缓冲流要“套接”在相应的节点流之上,对读写的数据提供了缓冲的功能,提高了读写效率,同时增加了一些新的方法。

四种缓冲流

BufferedReader(Reader in)

BufferedReader(Reader in,int sz)//sz表示自定义缓冲区大小

BufferedWriter(Writer out)

BufferedWriter(Writer out,int sz)

BufferedInputStream(InputStream in)

BufferedInputStream(InputStream in,int sz)

BufferedOutputStream(OutputStream out)

BufferedOutputStream(OutputStream out,int sz)

 

BufferedReader提供readLine方法用于读取一行字符串。

BufferedWriter提供了newLine方法用于写入一个行分隔符。等价于//.writer(" ");

对于输出的缓冲流,写出的数据会先在内存中缓冲,使用flush方法将会使内存中的数据立刻写出。

Eg:

package june6D;

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

//用缓冲流,性能相对高些

public class BufferedInputStreamDemo22 {

    public static void main(String[] args) throws IOException {

        /*

         * BufferedInputStream bis = new BufferedInputStream(new

         * FileInputStream("68.txt")); BufferedOutputStream bos = new

         * BufferedOutputStream(new FileOutputStream("buffer.txt"));

         *

         * int len = 0;

         * while((len = bis.read()) != -1){

         * bos.write(len);

         * }

         * bos.close();

         * bis.close();

         */

       

        try (

BufferedReader br = new BufferedReader(new FileReader("68.txt"));

    BufferedWriter bw = new BufferedWriter(new FileWriter(

                        "bufferWriter.txt")))

{//java7新特性,自动关闭资源

            String Line = null;

            while ((Line = br.readLine()) != null) {

                bw.write(Line);

                bw.newLine();//此时必须加上换行操作,注意这是个新用法(方法)

            }

        } catch (Exception e) {

            e.printStackTrace();

        }

    }

}

我的总结:在后续的学习中,缓冲流用到的会很多,因为效率高!

原文地址:https://www.cnblogs.com/fanweisheng/p/11136258.html