您的位置:首页 > Web前端

21-IO流-13-IO流(字符流-缓冲区-BufferedReader)

2015-08-11 10:48 435 查看
/*
*【类名】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():读取文本文件的一整行。
*/

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: