Part p = (Part) mpa.getPartList().get(i);
....
else if (p.getContentType().indexOf("message/delivery-status") >= 0) {
textContentType = p.getContentType();
errComment = p.getContent().toString();上面的一段程序中,p.getContent()返回的是object类型,
怎么样才能
正确读取其中内容。
谢谢、

解决方案 »

  1.   

    你应该直接转成当前邮件api实现的content对象,debug一下就知道p.getContent()具体是什么对象了,不应该用object,用object什么都干不了~!
      

  2.   

     p.getContent()返回的是object类型 强转成String 吧
      

  3.   

    System.out.println(p.getContent().getClass());
    你看下什么类型, String当然最简单.
    如果是InputStream或者File类型,
    BufferedInputStream reader = new BufferedInputStream ()...去读取内容
      

  4.   

    本人分数也不多,就分给你门了,
    我一直认为有一种更直接的方法,象其他类型的附件取得方法都是比较方便的。
    不过程序已经写完了,很感谢各位。
    下面贴出来,共享:SharedByteArrayInputStream input = (SharedByteArrayInputStream) p.getContent();
    byte[] byteIn = new byte[input.available()];
    input.read(byteIn);
    errComment = new String(byteIn);