-1

我正在开发一个需要从服务器文件夹下载二进制文件的系统。在这里,我会在下载之前检查它们是否在我的本地文件夹中。所以我需要获取*.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 文件。我怎样才能做到这一点?

4

1 回答 1

2

你试过什么?

您现在拥有Files当前目录中所有文件的数组。为什么不过滤该列表?例如:

return Files.Where(
    f => f.EndsWith(".bin", StringComparison.OrdinalIgnoreCase)
                  ).ToList();
于 2012-10-04T10:39:10.460 回答