下面要给大家介绍的就是和java字符缓冲区输入流BufferedReader类相关的知识,主要包含了BufferedReader类构造方法的重载形式以及使用。
BufferedReader类主要用于辅助其他字符输入流,它带有缓冲区,可以先将一批数据读到内存缓冲区,接下来的读操作就可以直接从缓冲区中获取数据,而不需要每次都从数据源读取数据并进行字符编码转换,这样就可以提高数据的读取效率。
BufferedReader类的构造方法重载形式:
BufferedReader(Reader in)-创建一个BufferedReader来修饰参数in指定的字符输入流。
BufferedReader(Reader in,int size)-创建一个BufferedReader来修饰参数in指定的字符输入流,参数size则用于指定缓冲区的大小,单位为字符。
除去能够为字符输入流提供缓冲区之外,BufferedReader还提供了方法,这个方法返回包含这个行内容的字符串,可是,这个字符串中不包含任何终止符,假如,已经到达流末尾,则返回null,readLine()方法表示每次读取一行文本内容,在遇到换行(\n)、回车(\r)或者回车后直接跟着换行标记符即可认为某行已终止。
示例:
使用BufferedReader类当中的readLine()方法逐行读取D:\myJava\Book.txt文件中的内容,并将读取的内容在控制台中打印输出。
代码:
public class Test13 { public static void main(String[] args) { FileReader fr = null; BufferedReader br = null; try { fr = new FileReader("D:\\myJava\\book.txt"); // 创建 FileReader 对象 br = new BufferedReader(fr); // 创建 BufferedReader 对象 System.out.println("D:\\myJava\\book.txt 文件中的内容如下:"); String strLine = ""; while ((strLine = br.readLine()) != null) { // 循环读取每行数据 System.out.println(strLine); } } catch (FileNotFoundException e1) { e1.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { try { fr.close(); // 关闭 FileReader 对象 br.close(); } catch (IOException e) { e.printStackTrace(); } } } }
上面的代码,首先分别创建了名称为fr的FileReader对象和名称为br的BufferedReader对象,之后,调用BufferedReader对象的readLine()方法逐行读取文件中的内容,假如,读取的文件内容为Null,那么,就表示已经读取到文件尾部,这个时候退出循环不再进行读取操作,最后将字符文件输入流和带缓冲的字符输入流关闭。
输出结果:
D:\myJava\book.txt 文件中的内容如下: 热点要闻 个性推荐 热搜新闻词 本地看点
更多相关java基础内容,可以继续来奇Q工具网进行了解哦。
推荐阅读: