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;  
    }  
  
}

 

/*InputStream in = this.getClass().getResourceAsStream(path);
        byte[] bytes = new byte[in.available()];
        in.read(bytes);
        in.close();*/

 

posted @ 2019-06-22 09:18  Rooker  阅读(38558)  评论(0编辑  收藏  举报