• Java基础-IO流对象之内存操作流(ByteArrayOutputStream与ByteArrayInputStream)


            Java基础-IO流对象之内存操作流(ByteArrayOutputStream与ByteArrayInputStream)

                                         作者:尹正杰

    版权声明:原创作品,谢绝转载!否则将追究法律责任。

    一.内存操作流特点

      内存操作流是为了临时处理数据而设置的。内存操作流分为“ByteArrayOutputStream和“ByteArrayInputStream”。

      “ByteArrayOutputStream类实现了一个输出流,其中的数据被写入一个 byte 数组。缓冲区会随着数据的不断写入而自动增长。可使用 toByteArray()toString() 获取数据。关闭 ByteArrayOutputStream 无效。此类中的方法在关闭此流后仍可被调用,而不会产生任何 IOException。 

       “ByteArrayInputStream”包含一个内部缓冲区,该缓冲区包含从流中读取的字节。内部计数器跟踪 read 方法要提供的下一个字节。关闭 ByteArrayInputStream 无效。此类中的方法在关闭此流后仍可被调用,而不会产生任何 IOException。 

    二.内存操作流使用案例

     1 /*
     2 @author :yinzhengjie
     3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
     4 EMAIL:y1053419035@qq.com
     5 */
     6 
     7 package cn.org.yinzhengjie.note6;
     8 
     9 import java.io.ByteArrayInputStream;
    10 import java.io.ByteArrayOutputStream;
    11 
    12 public class ByteArrayOutputStreamDemo {
    13     public static void main(String[] args) {
    14         ByteArrayOutputStream bos = new ByteArrayOutputStream();
    15         
    16         byte[] buf = "yinzhengjie@2018".getBytes();
    17         int len = buf.length;
    18         //将指定的字节写入此 byte 数组输出流。
    19         bos.write(100);
    20         //将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此 byte 数组输出流。
    21         bos.write(buf, 0, len);
    22         byte[] cache = new byte[1024];
    23         
    24         
    25         //定义一个读取的流,需要传入一个内部缓冲区,这个缓冲区需要和写入的缓冲区是同一个哟,不然存在读取不到数据的情况。
    26         ByteArrayInputStream bis = new ByteArrayInputStream(buf);
    27         while( (len = bis.read()) != -1 ) {
    28             System.out.print((char)len);
    29         }
    30     }
    31 }
    32 
    33 
    34 /*
    35 以上代码执行结果如下:
    36 yinzhengjie@2018
    37 */
  • 相关阅读:
    hdu 1325 判断有向图是否为树
    poj 1182
    Ubuntu 系统 文件操作命令
    vim 快捷键大全
    Git 上传本地命令
    git错误:fatal: Not a git repository (or any of the parent directories): .git
    Git 如何回到过去,然后 再 回到将来
    Git 提供篇
    Linux 的cp命令
    Linux :: vi E212: Can't open file for writing
  • 原文地址:https://www.cnblogs.com/yinzhengjie/p/8994595.html
Copyright © 2020-2023  润新知