java中InputStream转化为byte 数组

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

在commons-io包中org.apache.commons.io.IOUtils类的toByteArray(InputStream input)已经有实现了,我们可以参考下思路,完成我们的方法,我们可以用类似下面的代码实现inputStream转化为byte[]数组

public static byte[] toByteArray(InputStream input) throws IOException {    ByteArrayOutputStream output = new ByteArrayOutputStream();    byte[] buffer = new byte[4096];    int n = 0;    while (-1 != (n = input.read(buffer))) {        output.write(buffer, 0, n);    }    return output.toByteArray();}

下面是IOUtils中摘录出与toByteArray相关的方法

org.apache.commons.io.IOUtils.toByteArray方法如下:public static byte[] toByteArray(InputStream input)  throws IOException{  ByteArrayOutputStream output = new ByteArrayOutputStream();  copy(input, output);  return output.toByteArray();}public static int copy(InputStream input, OutputStream output)  throws IOException{  long count = copyLarge(input, output);  if (count > 2147483647L) {    return -1;  }  return (int)count;}public static long copyLarge(InputStream input, OutputStream output)  throws IOException{  byte[] buffer = new byte[4096];  long count = 0L;  int n = 0;  while (-1 != (n = input.read(buffer))) {    output.write(buffer, 0, n);    count += n;  }  return count;}
           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

这里写图片描述

猜你喜欢

转载自blog.csdn.net/tyuuhgf/article/details/83926557