2011-05-02 51 views
0

我正在開發一個使用javamail api的java郵件客戶端。我需要獲取附件列表而不用提取它。首先,我將顯示附件列表,然後單擊某個特定附件,我將獲取數據。目前我能夠獲取所有附件的名稱,但是由於我認爲我的代碼也在獲取附件數據,所以耗時過長。我的代碼如下列表附件沒有使用javamail api下載它

private void getAttachmentList(Part part, List list) throws Exception{ 
    Object content = part.getContent(); 
    if(content instanceof Multipart){ 
     Multipart multiPart = (Multipart)content; 
     int no_of_part = multiPart.getCount(); 

     for(int i=0; i<no_of_part; i++){ 
      getAttachmentList(multiPart.getBodyPart(i), list); 
     } 
    }else{ 
     String disposition = part.getDisposition(); 

     if (disposition != null && disposition.equalsIgnoreCase(Part.ATTACHMENT)) { 
      String fileName = part.getFileName(); 
      if(fileName != null){ 
       list.add(fileName); 
      } 
     } 

    } 
} 

我已經用我的Gmail帳戶測試過這段代碼,如果我的郵件有很大的附件,它會花費很多時間。任何幫助表示讚賞。 在此先感謝

回答

0

此應用是否使用POP或IMAP?

如果使用POP,請修改它以使用IMAP。後者可能會更快,因爲它只下載標題。