zoukankan      html  css  js  c++  java
  • 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 }

     运行效果,如下:

  • 相关阅读:
    类加载器
    类加载器
    类加载器
    类加载器
    Java11新特性
    Java11新特性
    Spring Cloud Alibaba学习笔记(24)
    Java11新特性
    PyCharm Professional 2016.1 破解 激活
    pycharm最新激活码 2018 2.28 到期
  • 原文地址:https://www.cnblogs.com/hebao0514/p/4861949.html
Copyright © 2011-2022 走看看