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