Talend - 在Windows中重命名文件,其中包含由tjava组件检索的字符串

时间:2014-04-16 16:34:19

标签: talend

使用Talend,我想重命名一台Windows机器中的文件,该文件具有我从事固定长度文件中的字段预先知道的文件名。我打算使用tFileCopy来做,但我不知道如何将字段值从tfileInputPositional传递给tfileCopy组件 - 目标文件名。因此,我尝试使用tjava组件执行的java代码例程专门重命名该文件。然而,在我使用代码例程成功检索到名称后,我没有设法使用该代码例程重命名该文件,因为file.renameTo方法似乎不起作用(已知java问题)。

那么如何从tFileCopy组件中引用运行tjava组件的值?有没有其他方法可以将变量值传递给tFileCopy组件?

1 个答案:

答案 0 :(得分:3)

您可以将值从tfileInputPositional传递到tJavaRow(或您的tJava)组件,并使用

将文件名存储在全局变量中
globalMap.put("filename","yourderivedfilename");

现在在您的tFileCopy组件中,您可以检查RENAME选项并将文件名命名为

globalMap.get("filename")

并且您也可以选中删除源文件复选框或使用tFileDelete删除旧版本的文件