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;
    }
  • 相关阅读:
    C#产生不重复随机数
    NT6 HDD Installer(硬盘装系统工具)装系统
    R语言实现 广义加性模型 Generalized Additive Models(GAM) 入门
    matlab小段代码学习
    java连接sql server2005
    python正则表达式
    Ubuntu下安装配置JDK 7
    mysql取代rand()的高效率随机读取方法
    UVA 1335 Beijing Guards
    杂思
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13317948.html
Copyright © 2011-2022 走看看