使用Message.getInputStream()读取附件信息,速度特别慢,1M的内容要读10几秒,不知道什么原因。是本来就这样吗?我使用了BufferedInputStream和BufferedOutputStream也不行。大家的读取速度如何?谢谢~~~~

解决方案 »

  1.   

    但是我现在就是在本地测试,读附件很慢。
    p是一个Message,在is.read时,一般要100ms。
                        BufferedInputStream is = new BufferedInputStream(
                         p.getInputStream());
                        BufferedOutputStream baos = new BufferedOutputStream(
                         new ByteArrayOutputStream());
                        int size = -1;
                        do {
                         byte[] bs = new byte[8192];
                         size = is.read(bs);
                         if (size > 0) {
                         baos.write(bs, 0, size);
                         baos.flush();
                         }
                        } while (size > 0);
                        myPart.setContent(baos);
                        parts.add(myPart);
                        is.close();
                        baos.close();
      

  2.   

    本地测试,所以不存在网络问题。下面是读取的代码,在执行read时,一次要消耗100ms,不知道为什么。
                        javax.mail.Message p;                    BufferedInputStream is = new BufferedInputStream(
                         p.getInputStream());
                        BufferedOutputStream baos = new BufferedOutputStream(
                         new ByteArrayOutputStream());
                        int size = -1;
                        do {
                         byte[] bs = new byte[8192];
                         size = is.read(bs);
                         if (size > 0) {
                         baos.write(bs, 0, size);
                         baos.flush();
                         }
                        } while (size > 0);                    myPart.setContent(baos);
                        parts.add(myPart);
                        is.close();
                        baos.close();