大きなログファイルから最後の行を取得する必要があります。それをする最善の方法は何ですか?あなたはReverseLineReader
を使用して逆方向にファイルを読み込みたいテキストファイルの最後の行だけを効率的に読み取る方法
5
A
答えて
12
:
How to read a text file reversely with iterator in C#
はその後、その上.Take(1)
を実行します。
var lines = new ReverseLineReader(filename);
var last = lines.Take(1);
あなたはJon Skeet'sライブラリMiscUtil直接ではなく、コードを貼り付け/コピーを使用することをお勧めします。
-2
それとも、それを2つのライン(.NET 4のみ)
var lines = File.ReadLines(path);
string line = lines.Last();
+2
これは完全なファイルの内容をメモリに読み込みます – RJFalconer
+0
これは仕事をすることができますが、メモリは非常に非効率的で(RJFalconerノートのように)大量の遅延 - ファイルを読むことは、プログラムでできることの中で最も遅いことの1つです。まれにしか読んでいない場合、これはうまくいくかもしれませんが、これは強力でプロフェッショナルなソリューションから得られたものです。 –
2
String lastline="";
String filedata;
// Open file to read
var fullfiledata = new FileStream(filepath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
StreamReader sr = new StreamReader(fullfiledata);
//long offset = sr.BaseStream.Length - ((sr.BaseStream.Length * lengthWeNeed)/100);
// Assuming a line doesnt have more than 500 characters, else use above formula
long offset = sr.BaseStream.Length - 500;
//directly move the last 500th position
sr.BaseStream.Seek(offset, SeekOrigin.Begin);
//From there read lines, not whole file
while (!sr.EndOfStream)
{
filedata = sr.ReadLine();
// Interate to see last line
if (sr.Peek() == -1)
{
lastline = filedata;
}
}
return lastline;
}
関連する問題
- 1. テキストファイルの最後の行を効率的に見つける
- 2. C#のテキストファイルから整数だけを効率的に読み取るには
- 3. コマンドはテキストファイルの最初の行だけを読み取る
- 4. テキストファイルで最後の行を読み込む最良の方法
- 5. C++のファイルの最終行を効率的に読み込む方法
- 6. テキストファイルの最初の行だけを読み込むには?
- 7. インベントリからデータを効率的に読み取る方法
- 8. テキストファイルの各行の最後の桁を読み取る方法は?
- 9. 大きなファイルをチャンクで読み取る最も効率的な方法
- 10. 大容量のcsvファイルから最後の行を効率的に読み取る
- 11. テキストファイルを1行だけ読み込む方法は?
- 12. C# - ファイルの最後の部分を定期的に読み取る最も効果的な方法
- 13. ファイルから最後の単語だけを読み取るFscanf
- 14. cassandraのすべての行キーのみを効率的に読み取る方法...
- 15. 特定の列の最後の値を取得する効率的な方法
- 16. 3MBのテキストファイルを効率的に読み込みます。構文解析
- 17. ファイルから効率的に最初の2バイトを読み取る - Golang
- 18. SQL Server 2005のUTF8(XML)データを最も効率的に読み取る
- 19. ベクターをファイルに読み書きする効率的な方法
- 20. Python:効率的な.csvファイルの読み込み方法
- 21. テキストファイルから最後の行の最初の単語を読み取る方法は?
- 22. SASの入力ファイルの特定の行を効率的に読み取る
- 23. C#+ SQL Server - 新しい行をメモリに読み込むための最速/最も効率的な方法
- 24. 端末コンソールで最後の行を読み取る方法は?
- 25. 巨大なCSVファイルのデータを効率的に読み取る
- 26. アイテムのデータベースを格納、書き込み、および読み取りする最も効率的な方法。
- 27. readline()は最初の行だけを読み取る
- 28. Firebaseで大量のデータを読み込む最も効率的な方法
- 29. デルファイの多くのファイルの最初の行を効率的に読み取るには
- 30. ノード内の行単位でファイルを効率的に読み取る
ニースを行うことができます!ありがとう、それを試してみましょう。 – 0x49D1
ライブラリがNuget ..ではないことに奇妙な!ありがとう! – 0x49D1
可能な複製で私の答えを見てください。http://stackoverflow.com/a/33907602/4821032 –