1 //导包动作必须做,否则会出现大片错误提示 2 import java.io.*; 3 4 class FileReaderDemo 5 { 6 publicstatic void main(String[] args) 7 { 8 //创建文件读取流和写入流对象,初始化为null。 9 FileReader fr = null; 10 FileWriter fw=null; 11 try 12 { 13 fr= new FileReader("source.txt"); //源 14 fw=new FileWriter ("dest.txt");//目的 15 16 //方法一:通过字符读取 17 int ch = 0; 18 while((ch=fr.read())!=-1)//调用读取流对象的read方法。返回值为-1时,表示结束到末尾。 19 { 20 fw.write(ch); 21 } 22 23 //方法二:通过自定义字符数组读取 24 char[]buf = new char[1024]; 25 26 int len = 0; 27 28 while((len=fr.read(buf))!=-1) 29 { 30 fw.write(buf,0,len); 31 } 32 } 33 catch(IOException e) 34 { 35 throw new RuntimeException("复制文件失败"); 36 } 37 finally //必须执行关流动作 38 { 39 try 40 { 41 if(fr!=null) 42 fr.close(); 43 } 44 catch(IOException e) 45 { 46 throw new RuntimeException("读取文件失败"); 47 } 48 try 49 { 50 if(fw!=null) 51 fw.close(); 52 } 53 catch(IOException e) 54 { 55 throw new RuntimeException("写入文件失败"); 56 } 57 } 58 }