C #Webclient Stream загружает файл с FTP в локальное хранилище

Я загружал файлы с FTP-сервера через объект WebClient, который предоставляет пространство имен .NET, а затем записывал байты в фактический файл через BinaryWriter. Все хорошо. Однако теперь,файлы резко увеличились в размере, и я беспокоюсь об ограничениях памяти, поэтому я хотел бы создать поток загрузки, создать поток файлов и построчно читать из загрузки и записывать в файл.

Я нервничаю, так как не смог найти хороший пример этого. Вот мой конечный результат:

var request = new WebClient();

// Omitted code to add credentials, etc..

var downloadStream = new StreamReader(request.OpenRead(ftpFilePathUri.ToString()));
using (var writeStream = File.Open(toLocation, FileMode.CreateNew))
{
    using (var writer = new StreamWriter(writeStream))
    {
        while (!downloadStream.EndOfStream)
        {
            writer.Write(downloadStream.ReadLine());                  
        }
    }
}

Я иду по этому неправильному/лучшему пути/и т. д.?

6
задан Sergey Brunov 22 September 2015 в 20:32
поделиться