1、

1 package cn.kongxh.io3;
 2 
 3 import java.io.File ;
 4 import java.io.Reader ;
 5 import java.io.FileReader ;
 6 public class ReaderDemo01{
 7     public static void main(String args[]) throws Exception{    // 异常抛出,不处理
 8         // 第1步、使用File类找到一个文件
 9         File f= new File("d:" + File.separator + "test.txt") ;    // 声明File对象
10         // 第2步、通过子类实例化父类对象
11         Reader input = null ;    // 准备好一个输入的对象
12         input = new FileReader(f)  ;    // 通过对象多态性,进行实例化
13         // 第3步、进行读操作
14         char c[] = new char[1024] ;        // 所有的内容都读到此数组之中
15         int len = input.read(c) ;        // 读取内容
16         // 第4步、关闭输出流
17         input.close() ;                        // 关闭输出流
18         System.out.println("内容为:" + new String(c,0,len)) ;    // 把字符数组变为字符串输出
19     }
20 };

2、

1 package cn.kongxh.io3;
 2 
 3 import java.io.File ;
 4 import java.io.Reader ;
 5 import java.io.FileReader ;
 6 public class ReaderDemo02{
 7     public static void main(String args[]) throws Exception{    // 异常抛出,不处理
 8         // 第1步、使用File类找到一个文件
 9         File f= new File("d:" + File.separator + "test.txt") ;    // 声明File对象
10         // 第2步、通过子类实例化父类对象
11         Reader input = null ;    // 准备好一个输入的对象
12         input = new FileReader(f)  ;    // 通过对象多态性,进行实例化
13         // 第3步、进行读操作
14         char c[] = new char[1024] ;        // 所有的内容都读到此数组之中
15         int temp = 0 ;    // 接收每一个内容
16         int len = 0 ;        // 读取内容
17         while((temp=input.read())!=-1){
18             // 如果不是-1就表示还有内容,可以继续读取
19             c[len] = (char)temp ;
20             len++ ;
21         }
22         // 第4步、关闭输出流
23         input.close() ;                        // 关闭输出流
24         System.out.println("内容为:" + new String(c,0,len)) ;    // 把字符数组变为字符串输出
25     }
26 };

总结: