2014-06-19 124 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

这就是结束了为我工作 - 谢谢:) –