我正在开发一个需要从服务器文件夹下载二进制文件的系统。在这里我将在下载之前检查它们是否在我的本地文件夹中。所以我需要获取 * .bin 文件的列表。
我在下面尝试过代码,但它会生成列出服务器文件夹中的所有文件。
private string[] GetRemoteFileList()
{
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(new Uri(_remoteHost));
request.Credentials = new NetworkCredential(_remoteUser, _remotePass);
request.Method = WebRequestMethods.Ftp.ListDirectory;
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream();
StreamReader reader = new StreamReader(responseStream);
string FileNames = reader.ReadToEnd();
string[] Files = Regex.Split(FileNames, "\r\n");
return Files;
}
我需要的只是过滤掉* .bin文件。我怎样才能做到这一点?
答案 0 :(得分:2)
你有什么尝试?
您现在在Files
中包含当前目录中所有文件的数组。你为什么不过滤那个清单?例如:
return Files.Where(
f => f.EndsWith(".bin", StringComparison.OrdinalIgnoreCase)
).ToList();