如何在java中搜索文件名和邮件附件
我有一个文件夹,其中的文件名为如何在java中搜索文件名和邮件附件,java,jakarta-mail,pdfbox,Java,Jakarta Mail,Pdfbox,我有一个文件夹,其中的文件名为D0000025667-T04292.pdf、D0000025668-T02119.pdf、D0000025670-T01125.pdf等等 我有一个MS access数据库表,其值如下: **Dealer Code Email** T04292 a@gmail.com T04292 a@gmail.com T02119 b@gmail.com T01125 b@g
D0000025667-T04292.pdf、D0000025668-T02119.pdf、D0000025670-T01125.pdf
等等
我有一个MS access数据库表,其值如下:
**Dealer Code Email**
T04292 a@gmail.com
T04292 a@gmail.com
T02119 b@gmail.com
T01125 b@gmail.com
RS0009 c@gmail.com
RS0001 c@gmail.com
C01020 d@gmail.com
我需要从表中获取“经销商”代码并在文件夹中搜索。最后,我需要将匹配文件附加到电子邮件中,以发送到数据库中列出的地址,例如经销商代码T04292
匹配文件D0000025667-T04292.pdf
,需要发送到a@gmail.com
我有一个邮件功能,可以直接指定附加文件路径,但现在我需要搜索并匹配需要附加的文件。我只回答一个问题,组合问题没有用(此外,将文件附加到邮件中已经在其他答案中解释过,例如)。下面是如何找到匹配的文件:
class DealerFilter implements FilenameFilter
{
private final String dealer;
DealerFilter(String dealer)
{
this.dealer = dealer;
}
@Override
public boolean accept(File dir, String name)
{
// uncomment these lines for debugging:
//System.out.println ("dealer: " + dealer);
//System.out.println ("name: " + name);
//System.out.println ("dir: " + dir);
return name.toLowerCase().endsWith("-" + dealer.toLowerCase() + ".pdf");
}
}
// returns null if error, empty array if not found
File[] findDealerPDFs(String directory, String dealer)
{
File dir = new File(directory);
File[] files = dir.listFiles(new DealerFilter(dealer));
if (files == null)
{
// error
return null;
}
for (File f : files)
{
System.out.println(f);
}
return files;
}
这是完整的代码。只需拨打findDealerPDFs(“目录”、“经销商”);从你的节目中。并取消注释已注释的两行。发布您在评论或聊天中获得的内容。然后您没有将任何经销商值传递给findDealerPDFs()调用。您需要这样做:findDealerPDFs(“/blah/dibla/directory”,“T04292”);现在我这样做了,我从数据库中获取代码,并将其传递给findDealerPDFs()调用。。