在tFileList的迭代过程中将逻辑应用于对象的最佳方法是什么。
问题是,如果我使用tFileList获取文件列表,我无法使用tJavaRow或jMap创建我想要重命名文件的文件名。基本上,如果我有多年的zip文件(2010,2011,2012等),每个zip文件包含相同名称的文件(f1.csv,f2.csv,f3.csv),我想迭代压缩文件,解压缩它们并使用重命名文件 f1_2010.csv,f2_2010.csv,f3_2010.csv..f1_2012.csv等。
谢谢!
答案 0 :(得分:0)
迭代链接提供了一种基于事件或事实执行组件的方法,而主链接在组件之间传输数据。
看起来像你应该能够解决你的问题:
tFileList_1 --iterate--> tFileUnarchive_1
|
onComponentOK
|
tFileList_2 -- iterate --> tFileCopy_1
|
onComponentOK
|
tFileArchive_1
在tFileUnarchive中使用((String)globalMap.get("tFileList_1_CURRENT_FILEPATH"))
来获取ZIP路径。
在tFileCopy中使用((String)globalMap.get("tFileList_2_CURRENT_FILEPATH"))
获取文件路径并将其配置为重命名。
对于您的名称修改,您可以在" onComponentOK"上添加tJava。链接。使用globalMap.put("year",((String)globalMap.get("tFileList_1_CURRENT_FILEPATH")).substring(x,x))
或更复杂的代码。并在您的其他组件参数中使用这些变量。