BufferedReader:字符缓冲输入流

 1 package com.itheima.demo01.BufferedStream;
 2 
 3 import java.io.BufferedReader;
 4 import java.io.FileReader;
 5 import java.io.IOException;
 6 
 7 /*
 8     java.io.BufferedReader extends Reader
 9     BufferedReader:字符缓冲输入流
10 
11     继承自父类的共性成员方法:
12         int read() 读取单个字符并返回。
13         int read(char[] cbuf)一次读取多个字符,将字符读入数组。
14         void close() 关闭该流并释放与之关联的所有资源。
15 
16      构造方法:
17         BufferedReader(Reader in)  创建一个使用默认大小输入缓冲区的缓冲字符输入流。
18         BufferedReader(Reader in, int sz)     创建一个使用指定大小输入缓冲区的缓冲字符输入流。
19         参数:
20             Reader in:字符输入流
21                 我们可以传递FileReader,缓冲流会给FileReader增加一个缓冲区,提高FileReader的读取效率
22      特有的成员方法:
23         String readLine() 读取一个文本行。读取一行数据
24             行的终止符号:通过下列字符之一即可认为某行已终止:换行 ('\n')、回车 ('\r') 或回车后直接跟着换行(\r\n)。
25         返回值:
26             包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回 null
27 
28      使用步骤:
29         1.创建字符缓冲输入流对象,构造方法中传递字符输入流
30         2.使用字符缓冲输入流对象中的方法read/readLine读取文本
31         3.释放资源
32  */
33 public class Demo04BufferedReader {
34     public static void main(String[] args) throws IOException {
35         //1.创建字符缓冲输入流对象,构造方法中传递字符输入流
36         BufferedReader br = new BufferedReader(new FileReader("10_IO\\c.txt"));
37 
38         //2.使用字符缓冲输入流对象中的方法read/readLine读取文本
39         /*String line = br.readLine();
40         System.out.println(line);
41 
42         line = br.readLine();
43         System.out.println(line);
44 
45         line = br.readLine();
46         System.out.println(line);
47 
48         line = br.readLine();
49         System.out.println(line);*/
50 
51         /*
52             发下以上读取是一个重复的过程,所以可以使用循环优化
53             不知道文件中有多少行数据,所以使用while循环
54             while的结束条件,读取到null结束
55          */
56         String line;
57         while((line = br.readLine())!=null){
58             System.out.println(line);
59         }
60 
61         //3.释放资源
62         br.close();
63     }
64 }

 

posted @ 2020-05-13 11:41  鑫淼  阅读(291)  评论(0)    收藏  举报