public static void main(String[] args) {
final String folder = "D:\\Users\\tmp";
final File file = new File(folder);
long lastModified = Long.MAX_VALUE;
for (File f : file.listFiles()) {
if (f.lastModified() < lastModified)
lastModified = f.lastModified();
}
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
System.out.println("Oldest is " + sdf.format(lastModified));
}
# 1 楼答案
检查Camel的File Language。看起来
file:modified
应该能帮到你# 2 楼答案
您可以按时间戳对文件进行排序,然后告诉Camel仅拾取1个文件
您还需要打开“急切max”消息。{a1}有关这些选项的更多详细信息,请参见文件2中的^
如果您正在从文件目录中使用
您还需要考虑文件处理后的处理,如果它被删除/保留(如NOOP)。例如,如果删除该文件,则Camel将在下次轮询时仅拾取最后修改的第二个文件,依此类推
如果您需要删除所有文件,那么我恐怕Camel没有现成的文件,您可能需要自己编写一些逻辑来删除所有这些文件
# 3 楼答案
在文件夹上使用^{} 并循环到
File::listFiles()
似乎很容易:在我的
tmp
文件夹中:输出:
# 4 楼答案
您可以使用Camel中的过滤器实现Jordi Castilla提供的方法。见以下文件: http://camel.apache.org/file2.html 请参阅“使用过滤器”一节