// 本例子将每次读到字节数组(buffer变量)内容写到内存缓冲区中,起到保存每次内容的作用  
        outStream.write(buffer, 0, len);  

解决方案 »

  1.   

    因为inputStream里面的内容你不知道具体有多长,所以无法确定到底buffer需要多长1024也许未必够用,所以只能把buffer当做缓存,每次读进一部分,在把buffer的内容,写到足够大的内存区。如果你确定你的输入流中字节数小于1024,你也可以直接返回buffer
      

  2.   

    正解,另外 byteArrayOutputStream关闭是无效的,JDK如是说,不过话说回来没效干嘛还要提供则个方法...
      

  3.   

    使用ByteArrayInputStream的好处是关掉流之后它的数据仍然存在。可以提高利用率