我試圖讓java
程序自動處理xml
作爲電子郵件附件發送到應用程序的內容。我一直在嘗試用不同的方法來查詢電子郵件中尋找xml
文件的組件,唯一可行的方法是輪詢bodypart
。 如何最好地確定身體部位是否爲xml文件,然後將該xml文件自動轉換爲輸入流?我想將任何xml
附件轉換爲inputstream
,然後再進一步處理inputstream
。JavaMail附件是一個InputStream實例嗎?
這裏是我的想象:
for(int y=1;y<=msg_count;y++){
Message msg = inbox.getMessage(y);
if(msg.getContent() instanceof Multipart){
Multipart mp = (Multipart) msg.getContent();
for(int a=0;a<mp.getCount();a++){
BodyPart bp = mp.getBodyPart(a);
if(bp.getFileName()!=null){
if(bp.getFileName().endsWith(".xml")){
if(bp.getContent() instanceof com.sun.mail.imap.IMAPInputStream){
InputStream myis = (InputStream)bp.getContent();
Blob blob = null;
byte[] content = IOUtils.toByteArray(myis);
try {blob = new SerialBlob(content);}
catch (SerialException e) {e.printStackTrace();}
catch (SQLException e) {e.printStackTrace();}
}
}
}
}
}
}
的問題是,日食的即將編譯錯誤的警告,其中上述參考com.sun.mail.imap.IMAPInputStream
的代碼,即使的System.out.println(bp.getContent())返回上述代碼中的xml附件的com.sun.mail.imap.IMAPInputStream
。
「eclipse不喜歡」不是對你的問題的詳細描述,也不太可能吸引別人的幫助 – JamesB