byte[]和InputStream的相互转换

来源:互联网 发布:阿里云服务器部署 编辑:程序博客网 时间:2024/05/20 07:17
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为转换之后的结果

Java代码 复制代码 收藏代码
  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, 0100)) > 0) {   
  18.             swapStream.write(buff, 0, rc);   
  19.         }   
  20.         byte[] in2b = swapStream.toByteArray();   
  21.         return in2b;   
  22.     }   
  23.   
  24. }