gpt4 book ai didi

java - 正则表达式和 SftpStreamingInboundChannelAdapterSpec

转载 作者:行者123 更新时间:2023-12-01 23:22:52 24 4
gpt4 key购买 nike

我们尝试使用 Sftp 入站流适配器来提取 mongo 数据库中的数据。

我们根据 sftp 服务器上的模式 SRMTparty_create_20191010033028.csv 接收文件。

当我配置正则表达式或简单文件模式过滤器时,永远找不到它们。

如果我输入完整的文件名就可以了。

为了排除正则表达式问题,我在简单的 hello world 类中使用 Pattern 进行了尝试。

Pattern p = Pattern.compile("(SRMTparty_create_)(.*)(\\.csv)");
String s = "SRMTparty_create_20191010033028.csv";
Matcher match = p.matcher(s);
System.out.println(match.find());

没关系。

我的代码如下:

    @Bean(name = "sftpInboundPartyAdapter")
public SftpStreamingInboundChannelAdapterSpec sftpInboundAdapter() {
return Sftp.inboundStreamingAdapter(remoteFileTemplate)
.remoteDirectory(sftpRemoteDirectory)
.patternFilter(sftpRemoteFileName)
.maxFetchSize(1);
}

希望有人能帮助我!

祝你有美好的一天。

最佳答案

我认为您需要更多地研究什么是 AntPathMatcher - 一种在 SftpSimplePatternFileListFilter 背后使用的方法:

 * <p>Part of this mapping code has been kindly borrowed from <a href="https://ant.apache.org">Apache Ant</a>.
*
* <p>The mapping matches URLs using the following rules:<br>
* <ul>
* <li>{@code ?} matches one character</li>
* <li>{@code *} matches zero or more characters</li>
* <li>{@code **} matches zero or more <em>directories</em> in a path</li>
* <li>{@code {spring:[a-z]+}} matches the regexp {@code [a-z]+} as a path variable named "spring"</li>
* </ul>

关于java - 正则表达式和 SftpStreamingInboundChannelAdapterSpec,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58321770/

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