作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 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/
我正在尝试使用 Camel 从 FTP 服务器下载多个文件。 我正在使用 recursive=true 选项和 include=..xlsx|..xlsm 选项。 我的端点如下所示: from(FTP
我是一名优秀的程序员,十分优秀!