黑马软件工程师——io流之字符流

黑马程序员——io流之字符流

---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------

1.字符流——创建文件

A:创建流对象,建立数据存放文件
FileWriter fw = new FileWriter(“Test.txt”);
B:调用流对象的写入方法,将数据写入流
fw.write(“text”);
C:关闭流资源,并将流中的数据清空到文件中。

 fw.close();

2.字符流——读取文件

A:建立一个流对象,和指定的文件数据关联。
FileReader fr = new FileReader(“Test.txt”);
B:创建一个临时存放数据的数组。
char[] ch = new char[1024];
C:调用流对象的读取方法将流中的数据读入到数组中。
fr.read(ch);
3.注意:

A;定义文件路径时,可以用“/”或者“\\”。
B:在创建一个文件时,如果目录下有同名文件将被覆盖。
C:在读取文件时,必须保证该文件已存在,否则出异常。
4.字符流案例之复制文本文件并进行异常处理

/*
请用两种方式复制文本文件F:\xp.txt
*/

//倒入所需要的包和类
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class CopyTest{
 public static void main(String[]args){

//调用方法,因为方法是静态的,默认使用类名调用
  copy1();
  copy2(); 
  
 }

//定义copy2方法,这个方法使用的是一次读取一个字符数组的方法
 public static void copy2(){
  FileReader fr=null;
  FileWriter fw=null;

  try{
   fr=new FileReader("F:\\xp.txt");
   fw=new FileWriter("G:\\win7.txt");
   char[] ch=new char[1024];
   int len=0;
   while((len=fr.read(ch))!=-1){
    fw.write(ch,0,len);
    fw.flush();
   }
  }catch(IOException e){
   throw new RuntimeException("du xie shi bai");
  }finally{
   try{
    if(fw!=null)
     fw.close();
   }catch(IOException e){
    throw new RuntimeException("xie ru guan bi shi bai");
   }
 //判断关闭字符流对象  
   try{
    if(fr!=null)
     fr.close();
   }catch(IOException e){
    throw new RuntimeException("du ru guan bi shi bai");
   }
  }
 }

//定义方法copy1,这个方法使用的字符流中一次读写一个字符的方法,方法比较低效
 public  static void copy1(){
  FileReader fr=null;
  FileWriter fw=null;

  try{
   fr=new FileReader("F:\\xp.txt");
   fw=new FileWriter("G:\\win8.txt");
   int ch=0;
   while((ch=fr.read())!=-1){
    fw.write(ch);
   }
   
  }catch(IOException e){
   throw new RuntimeException("du xie shi bai");
  }finally{
   try{
    if(fw!=null)
     fw.close();
   }catch(IOException e){
    throw new RuntimeException("xie ru guan bi shi bai");
   }

   try{
    if(fr!=null)
     fr.close();
   }catch(IOException e){
    throw new RuntimeException("du ru guan bi shi bai");
   }
  }
 }
}

---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ---------------------- 详细请查看:http://edu.csdn.net