zoukankan      html  css  js  c++  java
  • java中InputStream转化为byte[]数组

    在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;
    }
  • 相关阅读:
    自定义input标签输入框
    sys.argv 启动时可以传入变量
    falcon 监控
    wrk 压测工具
    mysql UPDATE和REPLACE
    tesseract识别图片中文字
    centos 查看日志 & 查找文件、目录、内容 & centos查看磁盘使用情况
    压力测试
    tensorflow + scikit-learn
    Pycharm快捷键配置
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13317948.html
Copyright © 2011-2022 走看看