2017-09-22 54 views
0

我的javax實用程序來發送郵件帶有附件,用於連接我不得不提到確切的文件路徑電子郵件發送一樣,如果我的文件夾中有10個文件,然後我必須向武官逐\\分離10條確切路徑,然後我就可以發送電子郵件,我的要求是我想只要點開始或結束的字符串,文件包含和程序應選擇文件夾中包含字符串提到的所有文件和武官到email.For例如有文件夾名稱"xyz_100.pdf"兩個文件,"abc_100.pdf"所以在這種情況下,我要決定這樣 .pdf和電子郵件PROGRAMM應該選擇這些兩個文件附件路徑,下面是我當前的代碼審議附件的java讀取一個文件夾中的所有文件的電子郵件

if (null != Attachments) { 
        int StartIndex = 0, PosIndex = 0; 
        while (-1 != (PosIndex = Attachments.indexOf("///", StartIndex))) { 
         // Create and fill other message parts; 
         MimeBodyPart mbp = new MimeBodyPart(); 
         FileDataSource fds = new FileDataSource(Attachments.substring(StartIndex, PosIndex)); 
         mbp.setDataHandler(new DataHandler(fds)); 
         mbp.setFileName(fds.getName()); 
         mp.addBodyPart(mbp); 
         PosIndex += 3; 
         StartIndex = PosIndex; 
        } 
        // Last, or only, attachment file 
        if (StartIndex < Attachments.length()) { 
         MimeBodyPart mbp = new MimeBodyPart(); 
         FileDataSource fds = new FileDataSource(Attachments.substring(StartIndex)); 
         mbp.setDataHandler(new DataHandler(fds)); 
         mbp.setFileName(fds.getName()); 
         mp.addBodyPart(mbp); 
        } 
       } 

儘管附件中的文件夾到文件確切路徑

感謝

回答

1

有很多在Java中方式掃描目錄發現的所有文件,並阻止圖形或基本字符串匹配的文件。一個簡單的起點是java.io.File list method(和相關的方法)。

一旦你有文件名或文件對象的數組,你可以遍歷數組並添加每個作爲附件:

for (file : files) { 
    MimeBodyPart mbp = new MimeBodyPart(); 
    mbp.attachFile(file); 
    mp.addBodyPart(mbp); 
} 
+0

我如何更新我當前的代碼?請舉例 – user7788127

+0

對不起,我不打算爲你寫代碼。做一些努力,如果你不能發佈你嘗試過的東西。 –

相關問題