当前位置: 代码迷 >> 综合 >> (JavaSE 学习记录) IO流之字节数组流 ByteArrayInputStream、ByteArrayOutputStream
  详细解决方案

(JavaSE 学习记录) IO流之字节数组流 ByteArrayInputStream、ByteArrayOutputStream

热度:32   发布时间:2024-01-09 06:58:47.0

字节数组流

FileInputStream是把File文件当做数据源,而ByteArrayInputStream则是把内存中的”某个字节数组对象”作为源。

常常用在需要流和数组之间转化的情况。

不需要关闭流的操作。

ByteArrayInputStream
import java.io.ByteArrayInputStream;
import java.io.IOException;public class ByteArrayInputStreamTest {
    public static void main(String[] args) {
    String str = "Makka Pakka";byte[] src = str.getBytes();ByteArrayInputStream bais = null;try {
    bais = new ByteArrayInputStream(src);byte[] flush = new byte[10];int len = 0;while(((len=bais.read(flush))!=-1)){
    String string = new String(flush,0,len);System.out.println(string);}} catch (IOException e) {
    e.printStackTrace();}}
}
ByteArrayOutputStream
import java.io.ByteArrayOutputStream;
import java.io.IOException;public class ByteArrayOutputStreamTest {
    public static void main(String[] args) {
    ByteArrayOutputStream baos = null;try {
    baos = new ByteArrayOutputStream();	//不需指定目的地String str = "Makka Pakka";byte[] src = str.getBytes();baos.write(src, 0, src.length);baos.flush();byte[] datas = baos.toByteArray();	//取出写的字节数组} catch (IOException e) {
    e.printStackTrace();}}
}