2013-12-19 4 views
1
에서 제거 첨부 파일

나는 로컬 디스크에서 EML 파일을 읽고있다 : MimeMessage의

InputStream is = new FileInputStream(body_path); 
MimeMessage message = new MimeMessage(session,is); 
Multipart multipart = (Multipart)message.getContent(); 

지금 내가 어떻게 ".DAT"형식의 첨부 파일을 제거 할 수 있습니까?

답변

0

당신은 같은 것을 할 수 있습니다 : - :

MimeMessage newMimeMsg; 
MimeMultipart content; 

if (mimemsg.isMimeType("multipart/*")) { 
    Multipart multipartmsg = (Multipart) mimemsg.getContent(); 

for (int i = 0; i < multipartmsg.getCount(); ++i) { 
MimeBodyPart bodypart = (MimeBodyPart) multipartmsg.getBodyPart(i); 
if(getFileExtension(bodypart.getFileName()).equalsIgnoreCase("dat") { 
    // Do Nothing 
} else { 
    content.addBodyPart(bodypart); 
} 
} 
newMimeMsg.setContent(content); 
} else { 
    newMimeMsg = mimemsg; 
} 

public static String getFileExtension(String docFileName) { 
     String[] tokens = docFileName.split("\\.(?=[^\\.]+$)"); 
     return tokens[1]; 
    } 
+0

@Michael -

가 작성 새 메시지를 new mimemsg의 구도를 확장 DAT

와 부분을 제외 한 모든 부품을 하나 추가 : 도움이 되었습니까? – Caadi0

+0

나는 이것이 효과가 있다고 생각한다. 누구든지 그것을 확인할 수 있습니까? – MaVRoSCy

+0

사실, bodypart.getFileName())은 항상 null입니다. –