Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中搜索文件名和邮件附件_Java_Jakarta Mail_Pdfbox - Fatal编程技术网

如何在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()调用。。