6
.NET
名前空間が提供するWebClient
オブジェクトを介してFTPサーバーからファイルをダウンロードしてから、実際のファイルにBinaryWriter
で書き込んでいます。すべてが良いです。しかし、今、ファイルのサイズが劇的に増加しています。私はメモリの制約があるので心配しています。ダウンロードストリームを作成し、ファイルストリームを作成し、ダウンロードから読み込んでファイルに書きたいと思います。FTPからローカルストレージにファイルをダウンロードする
私はこの素晴らしい例を見つけることができなかったので、私は緊張しています。ここに私の最終結果があります:
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());
}
}
}
私はこの不適切な/より良い方法/などについてはありますか?
、まだ(requestオブジェクトがWebクライアントで午前[I」は私のポストを更新してこれを明示的に表示する])しかし、DownladFileはメモリ内のファイル全体を私が探しているものの反対に与えるでしょう。 – OnResolve
@OnResolve、申し訳ありません、私はしていませんと述べた。アップデートをご覧ください。 –
@OnResolve、カスタマイズしたバッファーサイズのバージョンを追加しました。 –