我正在用StreamReader讀取文件的.NET應用程序中編寫文件解析器。要解析的文件以標頭開頭,標頭以"<eoh>"
結尾。我想要從開始直到該字符串讀取或忽略所有內容。實際數據在此之後開始。用StreamReader讀取到某個字符串
該文件不是基於行的。一切只有通過這樣的標記字符串進行分配。所以我不能使用ReadLine。
如何在不讀取一個字符的情況下執行狀態機來識別標記工作字符?我正在尋找一種方法,如StreamReader.SkipUntilAfter(string)
或StreamReader.ReadUntil(string)
。
哦,這個項目仍然使用.NET 2.0,所以在這裏不需要LINQ。儘管如果有人建議使用它,我可能會解決這個問題。
如果文件是基於行的,你可以使用'File.ReadLines'和LINQ(f.e。'SkipWhile','TakeWhile')。 – 2014-10-19 19:53:20
您可以使用while((line = reader.ReadLine())!= null){//只讀後行.Equals(「」)} –
Crasher
2014-10-19 19:54:52
更新的問題:它不是基於行的。標記可能出現在一行的中間。然後我已經閱讀了部分數據。而StreamReader無法在任何地方尋找或尋找。 – ygoe 2014-10-19 19:57:25