使用Talend移动当天的最新文件

时间:2015-09-28 11:32:37

标签: talend file-management

我在Talend有一个工作,它将连接到一个文件夹并查找当天的文件(基于名称,即20150928_MyFile,20150928_MySecondFile和20150928_MyThirdFile),并将这些文件移动到其他文件夹。我使用下面的flemask来查找今天的文件,但是这样Talend正在移动今天的所有文件,但我希望它只移动今天的最新文件(20150928_MyFile) ,20150928_MySecondFile和20150928_MyThirdFile)要移动的每个文件。 我使用了下面的FILE MASK -

((String)TalendDate.formatDate("yyyyMMdd", TalendDate.getCurrentDate())) + "*.CSV"

提前多多感谢!!

enter image description here

1 个答案:

答案 0 :(得分:1)

您无法信任当前基于日期的掩码,因为它不需要在NOW时刻拥有文件,但您可以使用tFileList获取上次修改时间,并在每次迭代中获取最后修改时间的最大值:

tFileList-----(iterate)------tJavaRow
    |
    |
(OnSubJobOk)
    |
    .. [the rest of the job]
  • tFileList可以迭代文件夹并按修改时间对文件进行排序。
  • tJavaRow只获取第一个文件,使用全局变量或上下文变量来保存它。