加入收藏 | 网站地图 | | RSS | WAP
你好,游客 登录 注册 搜索

Java中BufferedWriter的应用实例

[日期:2013-11-28] 作者: 来源: [字体: ]

4.9 BufferedWriter的应用

4.9.1源程序

import Java.io.BufferedWriter;

import java.io.BufferedReader;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.FileNotFoundException;

import java.io.IOException;

 

public class TestBufferedWriter {

    public static void main(String args[]) {

      long num = 0;

      int b = 0;

      FileReader freader = null;

      FileWriter fwriter = null;

      BufferedReader breader = null;

      BufferedWriter bwriter = null;

      try {

          freader = new FileReader("E:/java/iostream/TestBufferedWriter.java");

          breader = new BufferedReader(freader);

      } catch(FileNotFoundException e) {

          System.out.println("文件读取失败!");

          System.exit(-1);

      }

     

      try {

          fwriter = new FileWriter("E:/java/iostream/TestBufferedWritercopy.java");

          bwriter = new BufferedWriter(fwriter);

      } catch(IOException e) {//FileWriter的异常为IOException

          System.out.println("文件写出错误!");

          System.exit(-1);

      }

     

      try {

          while((b = breader.read()) != -1) {

              System.out.print((char)b);

              bwriter.write(b);

              num ++;

          }

          System.out.println();

          System.out.println("The number char of this file is " + num);

          freader.close();

          breader.close();

          fwriter.flush();

          bwriter.flush();//只要运行此句就要跑出IOException异常

          fwriter.close();//要把关闭文件输出流和缓冲区输出流写在flush的后面,否则文件不能别写入TestBufferedWritercopy.java

          bwriter.close();

      } catch(IOException e) {

          System.out.println("文件操作失败!");

          System.exit(-1);

      }

      System.exit(0);

    }

}

运行结果:

import java.io.BufferedWriter;

import java.io.BufferedReader;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.FileNotFoundException;

import java.io.IOException;

 

public class TestBufferedWriter {

    public static void main(String args[]) {

      long num = 0;

      int b = 0;

      FileReader freader = null;

      FileWriter fwriter = null;

      BufferedReader breader = null;

      BufferedWriter bwriter = null;

      try {

          freader = new FileReader("F:/java/iostream/TestBufferedWriter.java");

          breader = new BufferedReader(freader);

      } catch(FileNotFoundException e) {

          System.out.println("文件读取失败!");

          System.exit(-1);

      }

     

      try {

          fwriter = new FileWriter("F:/java/iostream/TestBufferedWritercopy.java");

          bwriter = new BufferedWriter(fwriter);

      } catch(IOException e) {//FileWriter的异常为IOException

          System.out.println("文件写出错误!");

          System.exit(-1);

      }

     

      try {

          while((b = breader.read()) != -1) {

              System.out.print((char)b);

              bwriter.write(b);

              num ++;

          }

          System.out.println();

          System.out.println("The number char of this file is " + num);

          freader.close();

          breader.close();

          fwriter.flush();

          bwriter.flush();//只要运行此句就要跑出IOException异常

          fwriter.close();//要把关闭文件输出流和缓冲区输出流写在flush的后面,否则文件不能别写入TestBufferedWritercopy.java

          bwriter.close();

      } catch(IOException e) {

          System.out.println("文件操作失败!");

          System.exit(-1);

      }

      System.exit(0);

    }

}

The number char of this file is 1483

4.9.2    源程序揭秘

4.9.2.1 源程序介绍

      该程序主要是对BufferedWriter类的应用,通过建立BufferedWriter的对象来将TestBufferedWriter.java文件写入硬盘并另存为文件TestBufferedWritercopy.java,最后并将该文件的内容在屏幕上打印出来,而且记录该文件中字节的数量。通过BufferedWriter类可以一次写入两个字节,提高了写入过程的速度和量。

    4.9.2.2 源程序变量解析:

l  num:记录所要写入硬盘的文件的字节数。

l  b:判断一个文件是否写入完成

l  freader:记录要从硬盘读入内存的文件的位置和名字。

l  breader:辅助freader通过缓冲区来读文件。

l  fwriter:记录要从内存写出到硬盘的文件的位置和名字。

l  bwriter:辅助fwriter通过缓冲区来写文件。

4.9.2.3 源程序函数解析:

l  main()函数:程序运行的入口,起到引导程序的作用。

l  read()函数:从硬盘中读文件到内存中。

l  write()函数:从内存写文件到硬盘中。

l  close()函数:关闭读文件和写文件的文件流。

l  flush()函数:清除输入和输出流。

4.9.2.4 程序段解析:

l  bwriter.flush();//只要运行此句就要跑出IOException异常

fwriter.close();//要把关闭文件输出流和缓冲区输出流写在flush的后面,否则文件不能别写入TestBufferedWritercopy.java。

关键词:IO  BufferedWriter  Writer 

收藏 推荐 打印 | 录入:blue1000 | 阅读:
最新图文
本文评论   查看全部评论 (1)
表情: 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事/刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
第 1 楼
* 匿名 发表于 2016/12/24 19:39:32
http://www.blue1000.com/bkhtml/c149/2013-11/71398.htm 关于希望的作文800字 http://www.135995.com/details/zs2107.html 我眼中的父亲作文 http://www.135995.com/details/zs2108.html