将FileOutputStream转换为FileInputStream的最简单方法是什么(一段代码会很棒)?

最佳答案

这可能对您有帮助:

http://ostermiller.org/convert_java_outputstream_inputstream.html

本文提到了3种可能性:

  • 将完整的输出写入字节数组,然后再次读取
  • 使用管道
  • 使用循环字节缓冲区(该页面上托管的库的一部分)

  • 仅供引用,反之亦然(输入到输出):

    使用Apache Commons IO的简单解决方案是:
    IOUtils.copyLarge(InputStream, OutputStream)
    

    或者,如果您只想复制文件:
    FileUtils.copyFile(inFile,outFile);
    

    如果您不想使用Apache Commons IO,这是copyLarge方法的作用:
    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;
    }
    

    10-07 22:24