15.5.3 字节类型外的文件输出

本节主要介绍“FilterOutputStream”类,图15.5描述了这个类的用处。

仔细分析图15.5,数据的数据类型可以是字节、字符、整型、浮点型等。先通过“FilterOutputStream”类,将所有这些类型的数据分解成字节类型的数据,再将字节类型的数据通过“FileOutputStream”类向目标对象输出数据。

15.5.3 字节类型外的文件输出 - 图1

图 15.5 FilterOutputStream模拟图

【实例15.9】下面看一个有关“FilterOutputStream”类的实例。


01 import java.io.*;

02 ///创建一个文件类对象f

03 ///创建一个文件输出流对象fos,并且以f作为参数

04 ///创建一个过滤输出流对象filter,并且以fos作为参数

05 ///通过循环语句往f中写入数据

06 public class file8

07 {

08 public static void main(String[]args)throws Exception

09 {

10 File f=new File("d:\filetest\1.txt");

11 FileOutputStream fos=new FileOutputStream(f);

12 FilterOutputStream filter=new FilterOutputStream(fos);

13 for(int i=’a’;i<’z’;i++)

14 {

15 filter.write(i);

16 }

17 fos.close();

18 }

19 }


【代码说明】从上面的程序段可以看出,“FilterOutputStream”类不像使用“FileOutputStream”类那样,必须要使用字节数组来存储数据。“FilterOutputStream”类可以直接处理除字节外的数据。

【运行效果】在1.txt中输出英文小写字母,读者可以打开此文件观察结果。

其实“FilterOutputStream”类和“FilterInputStream”类同样很难处理整型、字符串型等的数据。那么遇到这种类型的数据,应该如何处理呢?下面将引进两个类专门处理这些数据。