大規模なCSVファイルが多数あるウェブサイトがあります(最大10万行まで)。各CSVファイルから、ファイルの最後の行を読み取る必要があります。私はその内容を読む前に、ディスク上のファイルを保存するときの問題を解決する方法を知っている:ディスクにファイルを保存せずにウェブサイトの最終行を読む
var url = "http://data.cocorahs.org/cocorahs/export/exportreports.aspx?ReportType=Daily&Format=csv&Date=1/1/2000&Station=UT-UT-24"
var client = new System.Net.WebClient();
var tempFile = System.IO.Path.GetTempFileName();
client.DownloadFile(url, tempFile);
var lastLine = System.IO.File.ReadLines(tempFile).Last();
は、ディスク上の一時ファイルを保存せずに、最後の行を取得する方法はありますか? 私が試した:
using (var stream = client.OpenRead(seriesUrl))
{
using (var reader = new StreamReader(stream))
{
var lastLine = reader.ReadLines("file.txt").Last();
}
}
が、StreamReaderクラスはReadLinesメソッドを持っていないサービスは(のみCSVのヘッダ)データを返しませんでしたが...
コンテンツの最後の部分だけが必要な場合は、[HTTP Range headers](https://stackoverflow.com/questions/1434647/)を実装する必要があります。 –