如何在 java 中搜索文件名并附加到邮件
How to search filename and attch to mail in java
我有一个文件夹,其中包含名称如 D0000025667-T04292.pdf, D0000025668-T02119.pdf, D0000025670-T01125.pdf
等的文件。
我有一个 MS 访问数据库 table,其值如下:
**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
我需要从 table 中获取 'For Dealer' 代码并在文件夹中搜索。最后我需要将匹配的文件附加到电子邮件中以发送到数据库中列出的地址,例如经销商代码 T04292
与需要发送至 a@gmail.com
的文件 D0000025667-T04292.pdf
匹配。
我有一个邮件功能,可以直接指定附加文件路径,但现在我需要搜索并匹配需要附加的文件。
我只回答一个问题,组合问题没有用(另外,将文件附加到邮件中已经在其他答案中解释过,例如here)。所以这里是如何找到匹配的文件:
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;
}
我有一个文件夹,其中包含名称如 D0000025667-T04292.pdf, D0000025668-T02119.pdf, D0000025670-T01125.pdf
等的文件。
我有一个 MS 访问数据库 table,其值如下:
**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
我需要从 table 中获取 'For Dealer' 代码并在文件夹中搜索。最后我需要将匹配的文件附加到电子邮件中以发送到数据库中列出的地址,例如经销商代码 T04292
与需要发送至 a@gmail.com
的文件 D0000025667-T04292.pdf
匹配。
我有一个邮件功能,可以直接指定附加文件路径,但现在我需要搜索并匹配需要附加的文件。
我只回答一个问题,组合问题没有用(另外,将文件附加到邮件中已经在其他答案中解释过,例如here)。所以这里是如何找到匹配的文件:
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;
}