为什么StreamReader.ReadLine()忽略我的换行符?

时间:2018-04-29 04:56:52

标签: c#

我正在阅读文本文件的内容。文本文件显然是段落形式,每个段落之间有一个空格。当我加载并显示它时,它们一起作为一个大段落,这是不期望的。

currentLine = sr.ReadLine();

while (currentLine != "[/CONTENT]")
{
    m_content += currentLine;

    currentLine = sr.ReadLine();
}

我打开文件:

// Open the file.
sr = new System.IO.StreamReader(filename);

为什么忽略文本文件的换行符?

编辑:我可以在文本文件中明确添加换行符(\ n等),但在读取时不会执行任何操作。它只是读起来像#34;这是一些\ n文本。"在程序读取时不会破坏该行。

编辑#2:我正在阅读脚本,因为您可以注意到/ CONTENT标记,因此我无法简单地只读到文件的末尾。

3 个答案:

答案 0 :(得分:1)

当您调用"https://query.yahooapis.com/v1/public/yql?q=select * from weather.forecast where woeid in (select woeid from geo.places(1) where text=\"(" + latitude + "," + longitude + ")\")&format=json"函数时,它基本上会取消所有格式并仅返回干净的字符串。

关于您的ReadLine()问题,请尝试以下操作:

\n

答案 1 :(得分:0)

我认为答案就在这里:https://msdn.microsoft.com/en-us/library/system.io.streamreader.readline(v=vs.110).aspx

  

一条线被定义为一个字符序列,后跟换行符   (" \ n"),回车(" \ r"),或立即回车   然后是换行符(" \ r \ n")。返回的字符串不会   包含终止回车或换行。归来了   如果到达输入流的末尾,则value为null。

答案 2 :(得分:0)

使用File.ReadAllLines并将结果行与新行

结合起来

例如

string path = "path/to/file";
string contents = string.Join(Environment.NewLine, File.ReadAllLines(path));