2014-06-19 165 views
0

我有一個帶有一些命令的文本文件來解析我的系統。文本文件中的每一行都是一條命令。一次讀取文本文件一行

我想閱讀文本文件,每次只讀一行,其中每行都是我要執行的命令。

我已經達到了使用StreamReader.ReadLine()完全讀取某些行的狀態,但是有些行不能完整讀取。在記事本中,這些命令似乎沒有任何問題,並且每個命令都像它應該顯示的那樣排成一行。

然而,打開記事本文件++,我注意到一些命令內LF符號,指示文本編輯器來啓動一個新的命令,像這樣的時候:

enter image description here

那些LF被放錯位置(即當LF是命令的一部分時,我不想開始新行)。有沒有什麼辦法讓StreamReader解釋像記事本這樣的文件?由於記事本中的命令中間沒有換行符。

+0

@HassanNisar - 屏幕截圖是從記事本++取 - 這些數據都應該在同一行,而不是多行。在記事本中,它全部出現在一行中,並且「LF」字符不顯示。 –

+0

[一條線被定義爲一個字符序列,後跟一個換行符(「\ n」),一個回車符(「\ r」)或一個回車符後緊跟一個換行符(「\ r \ n」 )。](http://msdn.microsoft.com/en-us/library/system.io.streamreader.readline%28v=vs.110%29.aspx)我想你必須閱讀每個字符並檢查是否這是一個'真正的'linebreak或沒有。 –

+0

在記事本++,Ctrl + H中選擇搜索模式'Extended',Find What ='\ n'並全部替換。這將刪除所有換行 – Hassan

回答

3

如果所有的文本都是一行,那麼你可以跳過使用StreamReader。 相反,你可以使用

string sLine = File.ReadAllText("test.txt"); 
sLine = sLine.Replace("\n", ""); 
+1

這就是結束了爲我工作 - 謝謝:) –