ByteArrayOutputStream 和 ByteArrayInputStream的说明

原创 2016年08月29日 00:50:55

一、结构
java.lang.Object
—java.io.InputStream
—java.io.ByteArrayInputStream
官方说明:ByteArrayInputStream 包含一个内部缓冲区,该缓冲区包含从流中读取的字节。

java.lang.Object
—java.io.OutputStream
—java.io.ByteArrayOutputStream
官方说明:此类实现了一个输出流,其中的数据被写入一个 byte 数组。缓冲区会随着数据的不断写入而自动增长。

二、构造方法
public ByteArrayOutputStream()
ByteArrayInputStream(byte[] buf)

三 、ByteArrayOutputStream中重要方法
public byte[] toByteArray():用来合并读取输入流中的数据
public String toString():从输入流缓冲区内容解码的字符串

四、代码实例

public class Test {

    public static void main(String[] args) {
        String s = "好好学习,天天向上";
        byte[] b = s.getBytes();
        ByteArrayInputStream bai = new ByteArrayInputStream(b);
        ByteArrayOutputStream bao = new ByteArrayOutputStream();
        int t = bai.read();
        while (t != -1) {
            bao.write(t);
            t = bai.read();
        }
        System.out.println(bao);// 调用toString的方法
    }
}

输出结果为:好好学习,天天向上

合并读取文件:利用输出流的toByteArray()方法

public class Test {

    public static void main(String[] args) {
        String s = "好好学习,天天向上";
        String s2 = "goodgoodtudy,daydayup";
        byte[] b = s.getBytes();
        byte[] b2 = s2.getBytes();
        ByteArrayInputStream bai = new ByteArrayInputStream(b);
        ByteArrayInputStream bai2 = new ByteArrayInputStream(b2);
        ByteArrayOutputStream bao = new ByteArrayOutputStream();
        int t = bai.read();
        while (t != -1) {
            bao.write(t);
            t = bai.read();
        }
        int t2 = bai2.read();
        while (t2 != -1) {
            bao.write(t2);
            t2 = bai2.read();
        }
        **// 现在是所有数据都保存在了输出流中**
        byte[] data = bao.toByteArray();
        System.out.println(new String(data));
    }
}

输出结果: 好好学习,天天向上goodgoodtudy,daydayup

相关文章推荐

ByteArrayInputStream和ByteArrayOutputStream使用-黑马程序员

ByteArrayInputStream 包含一个内部缓冲区,该缓冲区存储从流中读取的字节。内部计数器跟踪 read 方法要提供的下一个字节。 关闭 ByteArrayInputStream 无效。此...
  • zxlmmmm
  • zxlmmmm
  • 2011年07月18日 23:00
  • 265

ByteArrayOutputStream和ByteArrayInputStream

http://blog.csdn.net/rcoder/article/details/6118313 http://bbs.phpchina.com/blog-24549-142721.h...

java.ByteArrayInputStream-ByteArrayOutputStream

ByteArrayInputStream和ByteArrayOutputStream 内存虚拟文件或者内存映像文件就是把内存中的一块数据存储缓冲区,虚拟成一个文件,原来该写入硬盘文件上的内容可以被写...

ByteArrayInputStream与ByteArrayOutputStream

第一次看到ByteArrayOutputStream的时候是在Nutch的部分源码,后来在涉及IO操作时频频发现这两个类的踪迹,觉得确实是很好用,所以把它们的用法总结一下。   ByteArra...
  • Tao_QQ
  • Tao_QQ
  • 2013年01月23日 16:06
  • 282

JAVA中ByteArrayInputStream和ByteArrayOutputStream详解

1.ByteArrayInputStreamByteArrayInputStream中包含一个内部缓冲区,用来包含那些可能从流中读的字节数组。还有一个内部计数器来跟踪下一个将被读取的字节。ByteAr...

java.ByteArrayInputStream与ByteArrayOutputStream再次理解 - CodeAnt的专栏 - 博客频道 - CSDN.NET http://blog.csdn.

第一次看到ByteArrayOutputStream的时候是在Nutch的部分源码,后来在涉及IO操作时频频发现这两个类的踪迹,觉得确实是很好用,所以把它们的用法总结一下。   ByteArra...
  • lslyhj
  • lslyhj
  • 2014年05月13日 09:30
  • 603

ByteArrayOutputStream和ByteArrayInputStream详解 &&&管道流

ByteArrayOutputStream类是在创建它的实例时,程序内部创建一个byte型别数组的缓冲区,然后利用ByteArrayOutputStream和ByteArrayInputStream的...

字节流ByteArrayInputStream和ByteArrayOutputStream的练习

练习一:字节流ByteArrayInputStream的读写过程测试 import java.io.ByteArrayInputStream; import java.io.ByteArrayOut...

黑马程序员——Java IO—字节流—ByteArrayInputStream和ByteArrayOutputStream

ByteArrayInputStream 和 ByteArrayOutputStream 引用如下一段话来说明一下这2个类: “内存虚拟文件或者内存映像文件就是把内存中的一块数据存...

Java IO 系列源码分析——ByteArrayInputStream和ByteArrayOutputStream

ByteArrayInputStream和ByteArrayOutputStream源码分析及示例
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ByteArrayOutputStream 和 ByteArrayInputStream的说明
举报原因:
原因补充:

(最多只允许输入30个字)