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(); } } }