内存流(字节数组流)ByteArrayInputStream
Posted ss-123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内存流(字节数组流)ByteArrayInputStream相关的知识,希望对你有一定的参考价值。
package org.example.io;
import java.io.ByteArrayInputStream;
import java.io.IOException;
/**
* ByteArrayInputStream:在创建对象时传入数组即可,不需要传文件,也没有新增的方法,close()关闭无效
* 流本身就是内存中的资源,流中的内容也是内存中的资源,所以不用手动关闭,内存会给他释放,所以不用关闭流
* 流的内容是内存中的资源,不访问磁盘
*/
public class TestByteArrayInputStream {
public static void main(String[] args) {
String s = "Hello World!";
byte[] b = s.getBytes(); // 获取字符串的字节数组
read(b);
}
private static void read(byte[] b) {
ByteArrayInputStream bais = new ByteArrayInputStream(b); // ByteArrayInputStream实例化时不抛出异常的原因是没有和外界产生关系
int i = 0;
byte[] b1 = new byte[1024]; // 字节数组缓冲区
StringBuilder sb = new StringBuilder(); // StringBuilder位于java.lang包中,类似于字符串
try {
while ((i = bais.read(b1)) != -1) {
sb.append(new String(b1, 0, i)); // 将指定的字符串循环附加到sb上
}
System.out.println(sb); // 输出sb字符串
} catch (IOException e) {
e.printStackTrace();
}
}
}
以上是关于内存流(字节数组流)ByteArrayInputStream的主要内容,如果未能解决你的问题,请参考以下文章
java _io_图片到内存(字节数组),字节数组到文件,练习文件流和字节数组流
字节数组流ByteArrayInputStream&ByteArrayOutputStream