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

java中BufferedOutputStream的应用实例

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

4.7 BufferedOutputStream的应用

4.7.1源程序

import Java.io.BufferedOutputStream;

import java.io.BufferedInputStream;

import java.io.FileOutputStream;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

 

public class TestBufferedOutputStream {

    public static void main(String args[]) {

      FileOutputStream foutput = null;

      FileInputStream finput = null;

      BufferedOutputStream boutput = null;

      BufferedInputStream binput = null;

      long num = 0;

      int b = 0;

      try {

          finput = new FileInputStream("E:/java/iostream/TestBufferedOutputStream.java");           

          binput = new BufferedInputStream(finput);

      } catch(FileNotFoundException e) {

          System.out.println("文件输入错误!");

          System.exit(-1);

      }

     

      try {

          foutput = new FileOutputStream("E:/java/iostream/TestBufferedOutputStreamcopy.java");

          boutput = new BufferedOutputStream(foutput);

      } catch(FileNotFoundException e) {

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

          System.exit(-1);

      }

     

      try {

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

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

              boutput.write(b);

              num ++;

          }

          System.out.println();

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

          finput.close();

          binput.close();

          foutput.flush();

          foutput.close();

          boutput.flush();//该句一定会抛出IOException异常,所以如果运行这一句,System.out.println("文件操作失败!");就一定会运行

          boutput.close();

      } catch(IOException e) {

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

          System.exit(-1);

      }

      System.exit(0);

    }

}

运行结果:

import java.io.BufferedOutputStream;

import java.io.BufferedInputStream;

import java.io.FileOutputStream;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

public class TestBufferedOutputStream {

    public static void main(String args[]) {

      FileOutputStream foutput = null;

      FileInputStream finput = null;

      BufferedOutputStream boutput = null;

      BufferedInputStream binput = null;

      long num = 0;

      int b = 0;

      try {

          finput = new FileInputStream("F:/java/iostream/TestBufferedOutputStream.java");           

          binput = new BufferedInputStream(finput);

      } catch(FileNotFoundException e) {

          System.out.println("?????????¨ª?¨®??");

          System.exit(-1);

      }

     

      try {

          foutput = new FileOutputStream("F:/java/iostream/TestBufferedOutputStreamcopy.java");

          boutput = new BufferedOutputStream(foutput);

      } catch(FileNotFoundException e) {

          System.out.println("?????????¨ª?¨®??");

          System.exit(-1);

      }

     

      try {

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

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

              boutput.write(b);

              num ++;

          }

          System.out.println();

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

          finput.close();

          binput.close();

          foutput.flush();

          foutput.close();

          boutput.flush();//???????¡§?¨¢?¡Á??IOException?¨¬?????¨´??????????????????System.out.println("??????¡Á¡Â?¡ì¡ã???");?????¡§?¨¢????

          boutput.close();

      } catch(IOException e) {

          System.out.println("??????¡Á¡Â?¡ì¡ã???");

          System.exit(-1);

      }

      System.exit(0);

    }

}

The number char of this file is 1604

文件操作失败!

4.7.2  源程序揭秘

4.7.2.1 源程序介绍

    该程序主要介绍BufferedOutputStream的应用,通过缓冲区来输出数据到文件可以提高速度和量。此程序输出的是该程序的源文件,一次只可以输出一个字节,所以里面的汉字就不能被正常输出,因为汉字要用两个字节来表示。该程序最后还通过num变量将文件里面的字符数量打印出来。

4.7.2.2 源程序变量解析:

l  foutput:FileOutputStream的对象,主要记录输出文件的位置和文件名。

l  finput:FileInputStream的对象,主要记录输入文件的位置和文件名。

l  boutput:BufferedOutputStream的对象,主要来辅助foutput以缓冲区的方式把文件快速高效的输出到文件上。

l  finput:BufferedInputStream的对象,主要来辅助fintput以缓冲区从文件里读数据到内存。

l  num:记录所输入文件的字节数。

l  b:读文件时判断文件数据是否读完。

4.7.2.3 源程序函数解析:

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

l  close()函数:关闭输入文件或输出文件。

l  flush()函数:清除输入或输出文件流。

4.7.2.4 程序段解析:

l  boutput.flush();//该句一定会抛出IOException异常,所以如果运行这一句,System.out.println("文件操作失败!")就一定会运行。

l  finput=new FileInputStream("E:/java/iostream/TestBufferedOutputStream.java")为导入文件到内存中。

foutput=new FileOutputStream("E:/java/iostream/TestBufferedOutputStreamcopy.java")为导出文件到硬盘中。

关键词:IO  Stream  BufferedOutputStream 

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