gpt4 book ai didi

java - Camel : GenericFileFilter and Recursive not working together

转载 作者:行者123 更新时间:2023-12-02 09:16:47 24 4
gpt4 key购买 nike

我正在尝试使用 Camel 从 FTP 服务器下载多个文件。

我正在使用 recursive=true 选项和 include=..xlsx|..xlsm 选项。

我的端点如下所示:

from(FTP_OPTION + "?include=.*.xlsx|.*.xlsm&recursive=true")
.to(ANOTHER_ENDPOINT);

这工作正常,但现在我需要一个更强大的过滤器,所以我使用 GenericFileFilter

我的过滤器如下所示:

public class MyFilter <T> implements GenericFileFilter<T>{
@Override
public boolean accept(GenericFile<T> file) {
String name = file.getFileName();
final String regex = "[\\w,\\s-ñÑ]+\\.(xlsx|xlsm)";
return name.matches(regex);
}
}

我的新端点是这样的:

from(FTP_OPTION + "?filter=#myFilter&recursive=true")
.to(ANOTHER_ENDPOINT);

问题是当我使用此端点时,仅从根级别获取文件,而不在子目录中查找文件。

过滤器和递归之间是否存在某种不兼容?或者我缺少其他选择?

谢谢!

最佳答案

AFAIR 通用过滤器也用于目录,因此您需要检查这一点并为接受哪些目录返回 true。您可以使用一个 isDirectory 方法来了解,如果您只想要所有目录,则返回 true。

关于java - Camel : GenericFileFilter and Recursive not working together,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58922584/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com