Talend-使用tjava组件检索到的字符串在Windows中重命名文件

Talend-使用tjava组件检索到的字符串在Windows中重命名文件,talend,Talend,使用Talend,我想重命名Windows计算机中的一个文件,该文件名是从固定长度文件的字段中检索到的,我事先不知道。我打算使用tFileCopy来完成这项工作,但我不知道如何将字段值从tfileInputPositional传递到tFileCopy组件-目标文件名。因此,我尝试用tjava组件执行的java代码例程专门重命名该文件。然而,在我用代码例程成功地检索到名称后,我没有用代码例程重命名文件,因为file.renameTo方法似乎不起作用(已知的java问题) 那么,如何从tFileCo

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


那么,如何从tFileCopy组件引用运行tjava组件获得的值呢?是否有其他方法将变量值传递给tFileCopy组件?

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

globalMap.put("filename","yourderivedfilename");
现在,在tFileCopy组件中,您可以选中重命名选项并将文件名指定为

globalMap.get("filename")

此外,您还可以选中“删除源文件”复选框,或使用tFileDelete删除文件的旧版本

不要忘记向其中添加字符串转换!(字符串)globalMap.getFirst谢谢您的帮助。我是Talend/Java的新手,所以请耐心等待我进一步的澄清。如果我在我的代码例程的中间包含对GULALMAP变量的引用,我得到的是GULALMAP不能被解析。如何克服这个问题?您在tJava或tJavaRow组件中添加的代码例程?就像在这里一样,(String)globalMap.get()应该是可用的。你能发布你的代码样本和作业快照吗。