Java基础知识强化之IO流笔记28:BufferedOutputStream / BufferedInputStream(字节缓冲区流) 之BufferedOutputStream写出数据

1. BufferedOutputStream / BufferedInputStream(字节缓冲区流)的概述

     通过定义数组的方式确实比以前一次读取一个字节的方式快很多,所以,看来有一个缓冲区还是非常好的。既然是这样的话,那么,java开始在设计的时候,它也考虑到了这个问题,就专门提供了带缓冲区的字节类。这种类被称为:缓冲区类(高效类)

  写数据:BufferedOutputStream
  读数据:BufferedInputStream

构造方法可以指定缓冲区的大小,但是我们一般用不上,因为默认缓冲区大小就足够了

 

2. BufferedOutputStream 构造方法

BufferedOutputStream(OutputStream out)
          创建一个新的缓冲输出流,以将数据写入指定的底层输出流。
BufferedOutputStream(OutputStream out, int size)
          创建一个新的缓冲输出流,以将具有指定缓冲区大小的数据写入指定的底层输出流。

  

    BufferedOutputStream构造方法中,为什么不传递一个具体的文件 或者 文件路径,而是传递一个OutputStream对象呢 ?

答:原因很简单,字节缓冲区流仅仅提供缓冲区,为高效而设计的。但是呢,真正的读写操作还得靠基本的流对象实现。

 

3. BufferedOutputStream写出数据,代码示例:

 1 package cn.itcast_05;
 2 
 3 import java.io.BufferedOutputStream;
 4 import java.io.FileOutputStream;
 5 import java.io.IOException;
 6 
 7 public class BufferedOutputStreamDemo {
 8     public static void main(String[] args) throws IOException {
 9         // BufferedOutputStream(OutputStream out)
10         // FileOutputStream fos = new FileOutputStream("bos.txt");
11         // BufferedOutputStream bos = new BufferedOutputStream(fos);
12         // 简单写法
13         BufferedOutputStream bos = new BufferedOutputStream(
14                 new FileOutputStream("bos.txt"));
15 
16         // 写数据
17         bos.write("hello".getBytes());
18 
19         // 释放资源
20         bos.close();
21     }
22 }

 运行效果,如下:

posted on 2015-10-08 19:01  鸿钧老祖  阅读(387)  评论(0编辑  收藏  举报

导航