使用 Talend 移动当天的最新文件
Move current day's latest files using Talend
我在 Talend 中有一份工作,它将连接到一个文件夹并查找当天的文件(基于名称,即 20150928_MyFile、20150928_MySecondFile 和 20150928_MyThirdFile),并将将这些文件移动到其他文件夹。我在 flemask 下面使用了查找今天的文件,但是 Talend 通过这种方式移动了今天日期的所有文件,但我希望它只移动今天日期的最新文件(20150928_MyFile、20150928_MySecondFile 和 20150928_MyThirdFile) 每个要移动的文件。
我使用了下面的文件掩码 -
((String)TalendDate.formatDate("yyyyMMdd", TalendDate.getCurrentDate())) + "*.CSV"
提前致谢!!
你不能相信基于当前日期的掩码,因为它没有必要在现在时刻有一个文件,但你可以使用 tFileList 来获取最后修改时间,并在每次迭代中获取最大最后修改时间:
tFileList-----(iterate)------tJavaRow
|
|
(OnSubJobOk)
|
.. [the rest of the job]
- tFileList 可以遍历文件夹并按修改时间对文件进行排序。
- tJavaRow只获取第一个文件,使用全局变量或上下文变量保存。
我在 Talend 中有一份工作,它将连接到一个文件夹并查找当天的文件(基于名称,即 20150928_MyFile、20150928_MySecondFile 和 20150928_MyThirdFile),并将将这些文件移动到其他文件夹。我在 flemask 下面使用了查找今天的文件,但是 Talend 通过这种方式移动了今天日期的所有文件,但我希望它只移动今天日期的最新文件(20150928_MyFile、20150928_MySecondFile 和 20150928_MyThirdFile) 每个要移动的文件。 我使用了下面的文件掩码 -
((String)TalendDate.formatDate("yyyyMMdd", TalendDate.getCurrentDate())) + "*.CSV"
提前致谢!!
你不能相信基于当前日期的掩码,因为它没有必要在现在时刻有一个文件,但你可以使用 tFileList 来获取最后修改时间,并在每次迭代中获取最大最后修改时间:
tFileList-----(iterate)------tJavaRow
|
|
(OnSubJobOk)
|
.. [the rest of the job]
- tFileList 可以遍历文件夹并按修改时间对文件进行排序。
- tJavaRow只获取第一个文件,使用全局变量或上下文变量保存。