17.Java IO: ByteArrayInputStream && ByteArrayOutputStream

来源:互联网 发布:范磊c语言 编辑:程序博客网 时间:2024/06/01 12:32

本文是在Java IO: ByteArrayInputStream 和Java IO: ByteArrayOutputStream翻译而来。

Java IO API的ByteArrayInputStream 类允许你从字节数组读取数据作为输出流.
例如:

byte[] bytes = ...//从别处获得字节数组InputStream input = new ByteArrayInputStream(bytes);int data = input.read();while(data != -1){    //do something with data    data = input.read();}input.close();

如果你的数据存贮在数组里,ByteArrayInputStream类可是很方便的,但是你有一个组件,它只能以InputStream处理数据。ByteArrayInputStream可以这样包装字节数组,返回一个输入流。

- - - - - - - - - - - - - - - - - - - - - -

Java IO API的ByteArrayOutputStream 类允许你捕获数据,然后以数组方式写入到输出流里。你将数据写到ByteArrayOutputStream里,当写完后,你调用ByteArrayOutputStream类的toByteArray()方法来获取所有以字节数组方式已写入的数据。

ByteArrayOutputStream例子

这里有一个简单的ByteArrayOutputStream例子:

ByteArrayOutputStream output = new ByteArrayOutputStream();//write data to output streambyte[] bytes = output.toByteArray();

当你有一个组件输出数据到OutputStream,但是你需要以字节数组的方式,在这种情况下ByteArrayOutputStream是很方便的。

注意close()方法

作为OutputStream的子类,ByteArrayOutputStream也有一个close()方法,凡是调用这个方法对ByteArrayOutputStream没有任何影响。

0 0
原创粉丝点击