2009-07-29 11 views
4

を持つファイルから新しい行を取得します。数行およびファイルは、このなりは、私は次のコードでファイルを見ているFileSystemWatcher

row 1 
row 2 
row 3 
row 4 

私は、ファイルに追加する(および保存)する場合::さて、ファイルt.logがある場合は、コンテンツを想定

row 1 
row 2 
row 3 
row 4 
row 5 
row 6 

どのようにすることができます追加された行が「行5」と「行6」であることを取得しますか?

ファイルが非常に大きくなる可能性があることを念頭に置いてください。そのため、内容がメモリに保存されていて、新しいバージョンとの差分を作成することはできません。同様に、最後の読み取り行の値とその値を格納することもできません。毎回ファイル全体を読み込み、同じ値の行が存在する可能性があります。

本当にありがとうございました。

+0

ログファイルの各行にタイムスタンプフィールドを追加できますか? – Jonathan

答えて

6

それは常に追加ログ、だ場合、あなたはファイルサイズと変化に保つことができます。

using (FileStream fs = new FileStream("t.log", FileAccess.Read)) 
{ 
    fs.Seek(previousSize, SeekOrigin.Begin); 
    //read, display, ... 
    previousSize = fs.Length; 
} 
0

をあなただけの行を追加しているとき、私はそれが動作することができます参照してください唯一のユースケースがあります。次に、行数を保存します。

関連する問題