Java-字符流的缓冲区

Posted 林鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java-字符流的缓冲区相关的知识,希望对你有一定的参考价值。

1.什么是io流

    流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。

2.io流的分类。

    对于io流主要分为输入流和输出流

    输入流:InputStream(字节流)和Reader(字符流)

    输出流:OutputStream(字节流)和Writer(字符流)

3.字节流(inputstream和OutputStream)和字符流(Reader和Writer),

4.通过字符流到字节流缓冲区

    字符流缓冲区的主要作用:缓冲区要结合流才可以使用缓冲区,缓冲区是在流的基础上对流的功能进行增强。

    字符流缓冲区的优点:提高对于流的读写效率。


    字符流的代码实现。

package com.example.demo.BufferReader;

import org.junit.jupiter.api.Test;

import org.springframework.boot.test.context.SpringBootTest;

import java.io.*;

/**

* @author hanqiang

* @Classname Reader

* @Date 2021/5/19 22:45

* @Description:

*/

@SpringBootTest

public class Reader {

    @Test

    public void context() throws FileNotFoundException {

        try{

            FileReader reader=new FileReader("C:\\\\Users\\\\Administrator\\\\Desktop\\\\1.txt");

            BufferedReader bufferReader=new BufferedReader(reader);

            FileWriter fileWriter=new FileWriter("C:\\\\Users\\\\Administrator\\\\Desktop\\\\2.txt");

            BufferedWriter bufferedWriter=new BufferedWriter(fileWriter);

            char[] b=new char[100];

            System.out.println("读取一行数据为"+bufferReader.readLine());

            while(bufferReader.read(b)>0){

                    System.out.println("数据为"+new String(b,0,b.length));

                    //String str=new String(b,0,b.length);

                    //行分隔符

                    bufferedWriter.newLine();

                    bufferedWriter.write(b,0,b.length);

                    bufferedWriter.flush();

    };

                    bufferReader.close();

                    bufferedWriter.close();

        }catch(Exception e){

            e.printStackTrace();

          }

        }

}

 

以上是关于Java-字符流的缓冲区的主要内容,如果未能解决你的问题,请参考以下文章

java 字节流与字符流的区别

java 字节流与字符流的区别

Java字节流与字符流的区别

(转)java字节流和字符流的区别

Java-字符流的缓冲区

java缓冲字符字节输入输出流:java.io.BufferedReaderjava.io.BufferedWriterjava.io.BufferedInputStreamjava.io.(代码片段