字节数组流输于缓冲流,放在jvm内存中,java可以直接操作。我们使用时可以不用关闭,交给GC垃圾回收机制处理、
当然我们为了保持良好习惯和代码一致性也可以加上关闭语句。
当其实我么打开ByteArrayInputStream 和 ByteArrayOutputStream 源码可以发现字节数组里的colse() 方法是个空方法:
/**
* Closing a <tt>ByteArrayInputStream</tt> has no effect. The methods in
* this class can be called after the stream has been closed without
* generating an <tt>IOException</tt>.
*/
public void close() throws IOException {
}
所以我们在使用时关闭不关闭都不影响
接下来我们来写一段代码实现:
文件–> 程序–>字节数组流–>程序—>文件 的操作:
package com.xzlf.io;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
/**
* 1、图片读取到字节数组
* 2、字节数组读取到文件
* @author xzlf
*
*/
public class IOTest03 {
public static void main(String[] args) {
// 图片到字节数组
byte[] datas