首页 > 代码库 > FileWriter字符输出流和FileReader字符输出流

FileWriter字符输出流和FileReader字符输出流

//FileWriter

public class FileWriterDemo {
 //字符流:适用于文本文件,以字符为单位进行操作,经常和缓冲流一起使用
 /**
  * 字符流操作步骤:
  * 1、创建字符流
  * 2、创建缓冲流
  * 3、进行读写操作
  * 4、关闭流
  */
 //使用缓冲流要注意的:要想把缓冲流中的数据强制写入到文件 1)使用flush方法  2)关闭流
 //字符流(写操作)
 public static void main(String[] args) {

FileWriter fw = null;
  BufferedWriter bw = null;
  try {
   //1、创建字符流
   fw = new FileWriter("abc.txt");
   //2、创建缓冲流
   bw = new BufferedWriter(fw);
   //3、写操作
   bw.write("abc");
   bw.write("\r\n");//换行(方法一)
   bw.newLine();//换行(方法二)
   bw.write("www");
//   bw.flush();//清空缓冲流
   System.out.println("写入成功!");
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }finally{
   try {
    //4、关闭流
    bw.close();
    fw.close();    
   } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
  }
 }

}

 

//FileReader

public class FileReaderDemo {
 //字符流(读操作)
 public static void main(String[] args) {

FileReader fr = null;
  BufferedReader br = null;
  try {
   fr = new FileReader("abc.txt");
   br = new BufferedReader(fr);
   String str = null;//存储每次循环读取到的字符数据
   while((str=br.readLine())!=null){
    System.out.println(str);
   }
  } catch (FileNotFoundException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }finally{
   try {
    br.close();
    fr.close();
   } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }   
  }
 }

}