0

私の職場では、すべてのパラメータが設定されている場合、サイズがギガバイトに達する可能性があるログ ファイルがあります。これらのファイルの形式は次のとおりです。

[HEADER ROW 1]
  XML LINE 1
  XML LINE 2
  . . .
  XML LINE x
[HEADER ROW 2]
  XML LINE 1
  XML LINE 2
  . . .
  XML LINE y
.  .  .
[HEADER ROW n]
  XML LINE 1
  XML LINE 2
  . . .
  XML LINE z

ヘッダー行には、メッセージの日時スタンプやその一般的なタイプなどの有用な情報が含まれています。ファイル全体の解析には時間がかかるため、理想的には、「[」で始まる行を除くすべての行を無視して、ログ ファイルの最初のパスを実行したいと考えています。しかし、私はさまざまな .NET IO クラスに慣れていません。誰かがこれを行うための効率的な方法をお勧めできますか?

ああ、忘れていました-これは、現在別のプロセスで書き込み用に開いているファイルで動作する必要があります。大きな質問はありません:-)

4

1 に答える 1

0

StreamReaderを使用するのが正しい方法だと思います。ファイルを非同期で読み取ることもできます。

また、コンソールから行を読み取り、適切な行を書き込むプログラムを作成することもできます。次に、次のようなコマンドラインを使用できます。

C:\type LOGFILE | PROGRAM

または、 WinGrepなどのgrepのようなプログラムを使用することもできます。

于 2013-02-26T13:20:21.330 に答える