次のコードがあります。
/// <summary>
/// Gets a file
/// </summary>
/// <param name="filename"> The filename to get. </param>
/// <returns> A list, containing each line of the file </returns>
public IEnumerable<string> GetFileLines(string filename)
{
var list = new List<string>();
var uri = BuildUri(filename);
var request = (FtpWebRequest)WebRequest.Create(uri.Uri);
request.Method = WebRequestMethods.Ftp.DownloadFile;
using (var resp = (FtpWebResponse)request.GetResponse())
{
using (var stream = resp.GetResponseStream())
{
Thread.Sleep(10000);
if (stream != null)
{
using (var responseStream = new StreamReader(stream))
{
// If we still have characters to process
while (responseStream.Peek() >= 0)
{
var line = responseStream.ReadLine();
list.Add(line);
}
}
}
}
}
return list;
}
ただし、FTP からファイル全体をプルしているわけではありません。ファイルの最後がダウンロードを完了する前に切断されたようです。
データを取得できる時間を延長するために追加できるものはありますか?
ありがとう、
デビッド