【问题标题】:Get Binary File List from Remote server从远程服务器获取二进制文件列表
【发布时间】:2012-10-04 10:35:50
【问题描述】:

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

【问题讨论】:

  • 你试过什么?上面的代码没有尝试只返回带有.bin 扩展名的文件。

标签: c# ftp ftpwebrequest


【解决方案1】:

你试过什么?

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

return Files.Where(
    f => f.EndsWith(".bin", StringComparison.OrdinalIgnoreCase)
                  ).ToList();

【讨论】:

    猜你喜欢
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-09
    • 2014-02-21
    • 2013-03-20
    • 2023-03-05
    • 2020-10-28
    相关资源
    最近更新 更多