JAVA IO系列---过滤流与包装类

来源:互联网 发布:淘宝客服人工电话号码 编辑:程序博客网 时间:2024/04/27 15:30

·包装类的概念与作用

·DataOutputStream类提供了往各种输出流对象中写入各种类型的数据的方法。先将要写入到输出流中的其他类型的数据转换成字节数   组,然后再调用输出流对象的写字节方法将其他类型的数据写入到具体的输出流设备中。你所要做的工作就是:传递一个其他类型的数据输出流对象给DataOutputStream实例对象或调用DataOutputStream实例对象的用于写入该类型数据的方法。

·DataOutputStream并没有对应到任何具体的流设备,而数据最终是要写入到具体的流设备中的,所以一定要利用DataOutputStream的构造函数给DataOutputStream传递一个对应具体流设备的输出流对象(是OutputStream的各种类型),完成类似DataOutputStream功能的类就是一个包装类,也叫过滤流类或处理流类。

·数据处理方法(输出包装类):

     

 

BufferedInputStream与BufferedOutputStream类

·对I/O进行缓冲是一种常见的性能优化方式,缓冲流为I/O增加了内存缓冲区,增加缓冲区有两个基本目的:

      --允许java程序一次不只操作一个字节,这样提高了程序的性能。

      --由于有了缓冲区,使得在流上执行skip、mark和reset方法都成为可能。

·BufferedInputStream与BufferedOutputStream类是java提供的两个缓冲区包装类,不管底层系统是否使用了缓冲区,这两个类在  自己的实例对象中创建缓冲区。

这种缓冲区与底层系统提供的缓冲区的区别是:

    --底层系统提供的缓冲区直接与目标设备交换数据,包装类创建的缓冲区需要调用包装类所包装的输出流对象将缓冲区的数据写入到目标  设备或者写入到底层缓冲区中,或者调用包装类所包装的输入流对象从底层缓冲区或者目标设备中读取数据到包装类缓冲区中。

·BufferedInputStream的两个构造函数:

   --BufferedInputStream(InputStream in) :创建有32个字节的缓冲流
   --BufferedInputStream(InputStream in, int size) :创建有size个字节的缓冲流

BufferedReader和BufferedWriter类

   BufferedReader的readLine方法可以一次去读一行文本,BufferedWriter的newLine方法可以向字符流中写入不同操作系统下的换行符。

 

原创粉丝点击