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

或者,您可以使用类似 grep 的程序,例如WinGrep

于 2013-02-26T13:20:21.330 回答