1 /**
2 * 需求:演示 BufferedReader 和 BufferedWriter 的使用,复制一个 java 文件
3 */
4 package cn.itcast.others.iostream;
5
6 import java.io.BufferedReader;
7 import java.io.BufferedWriter;
8 import java.io.FileReader;
9 import java.io.FileWriter;
10 import java.io.IOException;
11
12 class CopyTextBuf {
13 public static void main(String[] args) {
14 BufferedReader bufr = null;
15 BufferedWriter bufw = null;
16 try {
17 // 为了提高效率.加入缓冲技术,将字符读取流对象作为参数传递给缓冲区的构造函数.
18 // 建立缓冲区,创建流对象和文件相关联的
19 bufr = new BufferedReader(new FileReader("BufferedReaderDemo.java"));
20
21 bufw = new BufferedWriter(new FileWriter(
22 "BufferedReaderDemoCopy_1.txt"));
23 String s = null; // 因为读取一行到末尾的时候会返回null.就可以以null作为循环条件来循环
24 while ((s = bufr.readLine()) != null) {
25 bufw.write(s); // 读取一行.输出一行
26 bufw.newLine(); // 换行
27 }
28 } catch (IOException e) {
29 throw new RuntimeException("文件路径错误");
30 } finally {
31 try {
32 if (bufr != null)
33 bufr.close();
34 } catch (IOException e) {
35 System.out.println("读取关闭文件失败");
36 } finally {
37 try {
38 if (bufw != null)
39 bufw.close();
40 } catch (IOException e) {
41 System.out.println("输出关闭文件失败");
42 }
43 }
44 }
45 }
46 }