WebClient
名前空間が提供するオブジェクトを介してFTPサーバーからファイルをダウンロードし、.NET
を介して実際のファイルにバイトを書き込みますBinaryWriter
。すべてが良いです。しかし、今ではファイルのサイズが劇的に大きくなり、メモリの制約が心配なので、ダウンロードストリームを作成し、ファイルストリームを作成し、ダウンロードから1行ずつ読み取り、ファイルに書き込みたいと思います。
この良い例が見つからなかったので緊張しています。これが私の最終結果です:
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());
}
}
}
私はこの間違った/より良い方法/などについて行っていますか?