byte[]和InputStream的相互转换

 

1:byte[]转换为InputStream 

InputStream sbs = new ByteArrayInputStream(byte[] buf); 


2:InputStream转换为InputStreambyte[] 

ByteArrayOutputStream swapStream = new ByteArrayOutputStream(); 
byte[] buff = new byte[100]; //buff用于存放循环读取的临时数据 
int rc = 0; 
while ((rc = inStream.read(buff, 0, 100)) > 0) { 
    swapStream.write(buff, 0, rc); 
} 
byte[] in_b = swapStream.toByteArray(); //in_b为转换之后的结果 

 

 

import java.io.ByteArrayInputStream;  
import java.io.ByteArrayOutputStream;  
import java.io.IOException;  
import java.io.InputStream;  
  
public class ByteToInputStream {  
  
    public static final InputStream byte2Input(byte[] buf) {  
        return new ByteArrayInputStream(buf);  
    }  
  
    public static final byte[] input2byte(InputStream inStream)  
            throws IOException {  
        ByteArrayOutputStream swapStream = new ByteArrayOutputStream();  
        byte[] buff = new byte[100];  
        int rc = 0;  
        while ((rc = inStream.read(buff, 0, 100)) > 0) {  
            swapStream.write(buff, 0, rc);  
        }  
        byte[] in2b = swapStream.toByteArray();  
        return in2b;  
    }  
  
}

 

posted @ 2019-04-16 15:23  花生福  阅读(15436)  评论(0编辑  收藏  举报