/*
*【类名】public class BufferedReader extends Reader
*【功能】 从字符输入流中读取文本,缓冲各个字符,从而实现【字符】、【数组】和【行】的高效读取。(操作对象与BufferedWriter不同)
*其中行的概念是文本文件特有的,根据回车符判定该文本文件内容一共有几行。
*
*【构造方法】
*同BufferedWriter
*
*【方法摘要】(这里只列举主要的方法)
*(1)void close():关闭
*(2)int read():读取单个字符
*(3)int read(char[] cbuf,int off,int len):将字符读入数组的某一部分
*(4)String readLine():读取一个文本行
*/
package bufferedreader.demo;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class BufferedReaderDemo {
public static void main(String[] args) throws IOException {
/*老方法:效率低
FileReader fr = new FileReader("buf.txt");
char[] buf = new char[1024];
int len = 0;
while((len = fr.read(buf))!=-1){
System.out.println(new String(buf,0,len));
}
fr.close();
*/
FileReader fr = new FileReader("buf.txt");
BufferedReader bufr = new BufferedReader(fr);//同样要明确被缓冲的流
/*这里主要演示新方法readLine(),该方法直接读取文本文件一整行,且第一行读完读第二行,如此往下,如果内容全部读取完毕,
*仍然继续往下读,那么会返回null,所以for循环中只需要判断是否为null即可知道文本文件是否读完(write需要刷新,read不要刷新)
*/
String line = null;
while((line = bufr.readLine())!=null){
System.out.println(line);
}
bufr.close();
/**
* 【总结】
* 缓冲区中,BufferedWriter类的特有方法newLine():换行;BufferedReader的特有方法readLine():读取文本文件的一整行。
*/
}
}
21-IO流-13-IO流(字符流-缓冲区-BufferedReader)
最新推荐文章于 2024-08-10 22:20:39 发布