在我的工作场所,如果设置了所有参数,我们的日志文件可以增长到千兆字节。这些文件的格式为:
[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类没有经验。有人可以推荐一种有效的方法吗?
哦,我忘了 - 这必须使用一个文件,该文件目前在另一个进程中可以写入。没什么大问题: - )
答案 0 :(得分:0)
我认为使用StreamReader是正确的方法。你甚至可以异步读取文件!
您还可以创建一个程序,从Console中读取行并写入正确的行。然后你可以使用这样的命令行:
C:\type LOGFILE | PROGRAM
或者,您可以使用类似grep的程序,例如WinGrep。