byte[]和InputStream的相互转换

浅浅的花香味﹌ 2021-06-24 14:36 561阅读 0赞

: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. public class ByteToInputStream {
  6. public static final InputStream byte2Input(byte[] buf) {
  7. return new ByteArrayInputStream(buf);
  8. }
  9. public static final byte[] input2byte(InputStream inStream)
  10. throws IOException {
  11. ByteArrayOutputStream swapStream = new ByteArrayOutputStream();
  12. byte[] buff = new byte[100];
  13. int rc = 0;
  14. while ((rc = inStream.read(buff, 0, 100)) > 0) {
  15. swapStream.write(buff, 0, rc);
  16. }
  17. byte[] in2b = swapStream.toByteArray();
  18. return in2b;
  19. }
  20. }

发表评论

表情:
评论列表 (有 0 条评论,561人围观)

还没有评论,来说两句吧...

相关阅读

    相关 golang中struct[]byte相互转换

    在网络传输过程中,经常会这样处理:socket接收到数据,先获取其消息头,然后再做各种不同的业务处理。在解析消息头的时候的方法有多种多样。其中最为高效解析消息头的方法就是直接把