何百万ものレコードを持つテキストファイルを読み込む必要があります。ファイルを読みながら "Tracker"のようなものを実装する必要があります。最後にLineNumberを読み込んでログファイルに書き出します。このログファイルを開いて書き込み操作をアプリケーションのパフォーマンスに影響させたくありません。誰も私にそれを実装する方法を提案することができますか? P.P.私はこの大きなファイルを読むために歩留まりを使用しています、そして私はそのような複数のファイルを持っています。私はファイルがいくつかの無効なレコードを持っている場合、操作の読み込みを停止したい...この読み込み操作が行われている間、私は何とか今までに読んでいたので、 。ファイルへの書き込み操作
using (StreamReader reader = new StreamReader(_fileNameAndPath))
{
while (reader.EndOfStream == false)
{
string data = reader.ReadLine();
_fileLineNumber = _fileLineNumber + 1;
//this line number should go to tracker file Logger.Trace(_fileLineNumber)
//............
}
}
Loggerクラス:
public static class Logger
{
.....
public static void Trace(string message)
{
FileStream fileStream = new FileStream(logFilePath, FileMode.Append);
StreamWriter streamWriter = new StreamWriter(fileStream);
streamWriter.WriteLine(message);
}
}
ストリームは、アプリケーション全体またはストリームを開いたままにしておいてください。 AKAは静的なロガーを持っていません - それを挿入してください –
本当に 'Logger.Trace()'の実装ですか?あなたがファイルストリームを閉じていないので... –
プログラムが終了したときに最後に読んだ行の番号を記録する必要がありますか、または読み込んだ各行を文書化する必要がありますか? – falx