我正在尝试调用我在Talend内部构建的Java程序。其参数之一是将要使用的TSV文件的名称(或path\name)。所以,我做了这个工作:

java - Talend:获取tSystem中tFileInputDelimited的文件名-LMLPHP

tFileInputDelimited看起来像这样:

java - Talend:获取tSystem中tFileInputDelimited的文件名-LMLPHP

tSystem看起来像这样:

java - Talend:获取tSystem中tFileInputDelimited的文件名-LMLPHP

基本上,我需要在tSystem中运行以下命令:

"java -cp * tsvTranspositer.TSVTransposer " + fileName


fileName为先例tFileInputDelimited的名称(路径)
但是,虽然有人告诉我fileName变量似乎不是可调用的(如上图所示)。如何从tSystem内部访问它?

最佳答案

无需读取文件,只需使用tSystem将文件名传递给tFileList组件

tFileList-----(iterate)----->tSystem


tSystem组件中,将全局var连接到您的命令:

"java -cp * tsvTranspositer.TSVTransposer "+((String)globalMap.get("tFileList_1_CURRENT_FILEPATH"))


这样,您的作业将遍历所有输入文件。

10-07 13:11