Character input stream with buffer

BufferedReader

Character input stream with buffer

When using this stream, you don’t need to customize the char array, or you don’t need to define the byte array, with its own buffer

When a stream is required in the construction method of a stream, the incoming stream is called a node stream, and the stream responsible for packaging is called a packaging stream, or a processing stream.

When creating an object, the BufferedReader has a special construction method that accepts a parameter of the reader type, which means that it can only pass through a character stream , not a byte stream.

FileReader reader = new FileReader("text");
BufferedReader br = new BufferedReader(reader);
br.close();//只需要关br的流就行。br的close方法中会调用关闭FileReader的close方法

The current program, FileReader is a node stream

​ BufferedReader is a wrapper stream/process stream

For the packaging flow, you only need to close the outermost flow, and the node flow inside will be automatically closed.

readline()

String firstline = br.readline(). You can read one line at a time and return null after reading

The readline method reads a line of text without line breaks, and it will all be written on one line in sys.out.print

//readline()读一行
String str = null;
while ((str = br.readLine())!=null){
    
    
    System.out.println(str);
}

Node flow and packaging flow

Node flow and packaging flow are relative

FileInputStream fis = new FileInputStream("testfile");
//转换流,将字节流转换为字符流,因为br构造方法里面只能传字符流类型的参数
//fis是节点流,reader是包装流
InputStreamReader reader = new InputStreamReader(fis);
//reader是节点流,br是包装流
BufferedReader br = new BufferedReader(reader);
//关闭最外层
br.close()

merge

BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("testfile")))

BufferedWriter

BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new FileOuputStream("testfile")))

Guess you like

Origin blog.csdn.net/weixin_43903813/article/details/112727861