我正在使用this和 Spring 论坛。如果远程目录设置为“foo”,则该过程有效,但它不接受可以读取“foo”下任意数量的文件/文件夹的表达式(foo/\*/*
)。彻底迷失了!
@Bean
public FtpInboundFileSynchronizer ftpInboundFileSynchronizer() {
FtpInboundFileSynchronizer fileSynchronizer = new FtpInboundFileSynchronizer(ftpSessionFactory());
fileSynchronizer.setDeleteRemoteFiles(false);
fileSynchronizer.setRemoteDirectoryExpression(new LiteralExpression("foo/*/*"));
fileSynchronizer.setFilter(new FtpSimplePatternFileListFilter("*.txt"));
return fileSynchronizer;
}
是否有一个库可以提供编程控制来处理与 spring(-boot) 配合良好的 ftp 操作。文档非常庞大,对于像我这样的 FTP 初学者来说,我不会很快得到任何进展。
最佳答案
您必须使用 (S)FTP outbound gateway使用递归 MGET
命令来实现这一点。入站 channel 适配器(同步器)不支持拉取目录树。
关于java - Spring Integration从动态多个目录读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43342951/