Получить список файлов с FTP-сервера с определенным шаблоном поиска

Я хочу получить список файлов с FTP-сервера с определенным шаблоном поиска (например, получить все файлы с шаблоном «* .txt») и загрузить эти файлы только с помощью С#.net.

Ниже приведен код, возвращающий список файлов с FTP-сервера. Пожалуйста, предложите дополнительный код, необходимый для выполнения требуемой задачи.

            FtpWebRequest reqFTP;
            reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + coldata.Host + "/"));

            //("ftp://" + coldata.host  + "/"));
            reqFTP.UseBinary = true;
            reqFTP.Credentials = new NetworkCredential(coldata.Uid, coldata.Pwd);
            reqFTP.Method = WebRequestMethods.Ftp.ListDirectory;
            reqFTP.Timeout = System.Threading.Timeout.Infinite;
            reqFTP.Proxy = null;
            reqFTP.KeepAlive = true;
            reqFTP.UsePassive = true;
            FtpWebResponse res = (FtpWebResponse)reqFTP.GetResponse();
            response = reqFTP.GetResponse();
            reader = new StreamReader(response.GetResponseStream());
            string line = reader.ReadLine();
            while (line != null)
            {
                result.Append(line);
                result.Append("\n");
                line = reader.ReadLine();
            }
            // to remove the trailing '\n'
            result.Remove(result.ToString().LastIndexOf('\n'), 1);
            downloadRes = true;
            return result.ToString().Split('\n');

Спасибо.


person Murtaza Badshah    schedule 14.11.2013    source источник


Ответы (1)


Вы можете использовать System.IO.Path.GetExtension, что-то вроде этого:

while (line != null)
{
    if (System.IO.Path.GetExtension(line) == "txt")
    {
        result.Append(line);
        result.Append("\n");
        line = reader.ReadLine();
    }
}

Не совсем то, что вы просили, но вы не можете указать шаблоны поиска для FTP, см. здесь:

как получить диапазон файлов с FTP-сервера с использованием C#

person Ashigore    schedule 14.11.2013
comment
@code4life Тогда, пожалуйста, приведите пример, потому что стандарт FTP не поддерживает его, и несколько разных проверенных мной ftp-серверов не работали. - person Ashigore; 08.04.2016