1

这个问题是关于 Talend Open Studio 代码的。

我使用 tSendmail 组件作为子作业,当父作业失败 (tFtpPut) 时需要运行该组件。但是,在 tFtpPut 中,文件名由文件名掩码过滤(例如,如果我将 Ee* 作为掩码,它将上传名为 Eedoh 的文件),但在 tSendMail 中并非如此。

我知道 tFtpPut 使用文件系统中的特殊字符来制作文件名掩码,并且 tSendMail 应该使用 Java 正则表达式。问题是(正如我在源代码中看到的), List.add(String) 函数用于添加文件名,所以我不能在 .add 函数中使用正则表达式作为参数。

所以,我需要上传所有名称与正则表达式匹配的文件。

顺便说一句,我试图更改源代码(尝试迭代整个文件夹并添加名称与正则表达式匹配的所有文件),但它没有帮助,在其他地方出现错误,我无法跟踪问题。

4

1 回答 1

0

对于这个问题,我会在组件(FTP 和 sendMail)之前创建一个正则表达式过滤器。

在“高级模式”下使用 tFilterRow 组件非常容易。您的过滤条件是inputrow.filenamefield.matches("java_regexpr").

此外部过滤器对于两个组件都是相同的,您不再需要使用 FTP 组件的特定过滤器。

于 2010-03-12T16:37:24.747 回答