C# 如何使用FTP获取基于模式匹配的文件列表?
我需要从FTP服务器获取文件列表 FTP服务器有超过10000个文件 我只需要以ABC开头的文件…(大约10个文件)。 但每10分钟就会添加一次新文件 因此,我只需要获取在过去10分钟内创建的以ABC开头的文件 我如何做到这一点?我可以从C#本地完成这项工作吗 到目前为止,我看到的是,我可以连接到FTP服务器,获取所有文件的列表,并检查每个文件的名称。。。如果文件数量增加,这似乎需要很长时间C# 如何使用FTP获取基于模式匹配的文件列表?,c#,.net,ftp,C#,.net,Ftp,我需要从FTP服务器获取文件列表 FTP服务器有超过10000个文件 我只需要以ABC开头的文件…(大约10个文件)。 但每10分钟就会添加一次新文件 因此,我只需要获取在过去10分钟内创建的以ABC开头的文件 我如何做到这一点?我可以从C#本地完成这项工作吗 到目前为止,我看到的是,我可以连接到FTP服务器,获取所有文件的列表,并检查每个文件的名称。。。如果文件数量增加,这似乎需要很长时间 Ta一般来说,除了您知道的方法之外,没有其他方法:检索所有文件的列表并在本地进行筛选 但许多服务器支持
Ta一般来说,除了您知道的方法之外,没有其他方法:检索所有文件的列表并在本地进行筛选
但许多服务器支持对列表进行非标准/专有过滤 如果幸运的话,您的FTP服务器确实支持这一点,那么您可以使用文件掩码仅检索文件的子集。在您的情况下,掩码通常类似于
ABC*
。大多数主要的FTP服务器都支持*
模式
FtpWebRequest request =
(FtpWebRequest)WebRequest.Create("ftp://ftp.example.com/remote/path/ABC*");
request.Credentials = new NetworkCredential("username", "password");
request.Method = WebRequestMethods.Ftp.ListDirectory;
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream();
StreamReader reader = new StreamReader(responseStream);
Console.WriteLine(reader.ReadToEnd());
有关常见FTP服务器支持模式的部分列表,请参阅我的答案。如果我是你,我会在某处安装一个小控制台应用程序,它每10分钟调用一次FTP服务器,并用文件名更新JSON文件甚至数据库。这意味着您可以通过应用程序查询JSON文件或数据库,而无需担心速度。这就是我对上述许多问题所采用的方法。是的,你上面所说的一切都可以用c#实现,而且不会太复杂。。如果你需要帮忙或有任何代码要显示,请喊我一声!乔希-非常感谢你。。。我感谢你的帮助