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为转换之后的结果
1 import java.io.ByteArrayInputStream; 2 import java.io.ByteArrayOutputStream; 3 import java.io.IOException; 4 import java.io.InputStream; 5 6 public class ByteToInputStream { 7 8 public static final InputStream byte2Input(byte[] buf) { 9 return new ByteArrayInputStream(buf); 10 } 11 12 public static final byte[] input2byte(InputStream inStream) 13 throws IOException { 14 ByteArrayOutputStream swapStream = new ByteArrayOutputStream(); 15 byte[] buff = new byte[100]; 16 int rc = 0; 17 while ((rc = inStream.read(buff, 0, 100)) > 0) { 18 swapStream.write(buff, 0, rc); 19 } 20 byte[] in2b = swapStream.toByteArray(); 21 return in2b; 22 } 23 24 }