JavaSE: BufferedWriter类 和 BufferedReader类

1.  BufferedWriter 类

    <1>  基本概念

          java.io.BufferedWriter类:用于写入单个字符、字符数组,以及字符串,到输出流中。

    <2>  常用的方法

          方法声明                          功能介绍

          BufferedWriter(Writer out)                    根据参数指定的引用来构造对象

          BufferedWriter(Writer out, int sz)                 根据参数指定的引用和缓冲区大小来构造对象

          void write(int c)                        写入单个字符到输出流中

          void write(char[] cbuf)                      将字符串数组cbuf中所有内容写入输出流中

          void write(String s, int off, int len)                 将参数s中下标从off开始的len个字符写入输出流中

          void write(String str)                      将参数指定的字符串内容,写入输出流中

          void newLine()                        用于写入行分隔符到输出流中

          void flush()                          刷新流

2.  BufferedReader类 (重点)

      <1>  基本概念

            java.io.BufferedReader:从输入流中,读取单个字符、字符数组以及字符串。

      <2>  常用的方法

            方法声明                        功能介绍

            BufferedReader(Reader in)                根据参数指定的引用,来构造对象

            BufferedReader(Reader in,int sz)              根据参数指定的引用 和 缓冲区大小来构造对象

            int read()                        从输入流读入单个字符,读取到末尾则返回-1,否则,返回读取到的字符内容

            int read(char[] cbuf, int off, int len)             从输入流中,读取len个字符,放入数组cbuf中下标从off开始的位置上,

                                        若读取到末尾,则返回-1,否则,返回实际读到的字符个数

            int read(char[] cbuf)                    从输入流中,读满整个数组cbuf 

            String readLine()                      读取一行字符串,并返回,返回null表示读取到末尾

            void close()                       关闭流对象,并释放有关的资源 

3.  代码示例 

 1  class BufferedCharCopyTest {
 2 
 3       main(){
 4 
 5         BufferedReader br = null;
 6 
 7         BufferedWriter bw = null;
 8 
 9  
10 
11         try {
12 
13           //  1.  创建BufferedReader类型的对象,与 d:/a.txt文件关联
14 
15           br = new BufferedReader (new FileReader("d:/a.txt"));
16 
17           //  2.  创建BufferedWriter类型的对象,与d:/b.txt文件关联
18 
19           bw = new BufferedWriter(new FileWriter("d:/b.txt"));
20 
21           //  3.  不断地从输入流中,读取一行字符串,并写入到输出流中
22 
23           println("正在玩命地拷贝...");
24 
25           String str = null;
26 
27           while ( ( str = br.readLine() ) != null ) {
28 
29             bw.write(str);
30 
31             bw.newLine();  //  当前系统中的行分隔符是: 

32 
33           }
34 
35           println ("拷贝文件成功!");
36 
37         } catch (IOException e) {
38 
39           e.printStackTrace();
40         } finally {
41         // 4.关闭流对象并释放有关的资源
42           if (null != bw) {
43             try {
44               bw.close();
45             } catch (IOException e) {
46               e.printStackTrace();
47             }
48           }
49           if (null != br) {
50             try {
51               br.close();
52             } catch (IOException e) {
53               e.printStackTrace();
54             }
55           }
56         }
57 
58       }
59 
60     }      

             

原文地址:https://www.cnblogs.com/JasperZhao/p/14867678.html