为什么streamReader.readline()忽略我的newline字符



我正在阅读文本文件的内容。文本文件显然是以段落形式的,每个段落之间的空间。当我加载并显示它时,它都是一个大段落,这是不可思议的。

currentLine = sr.ReadLine();
while (currentLine != "[/CONTENT]")
{
    m_content += currentLine;
    currentLine = sr.ReadLine();
}

我这样打开文件:

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

为什么它忽略了文本文件的newline字符?

编辑:我可以在文本文件中明确添加一个newline( n等(,但是在读取时它无能为力。它只是"这是一些 n文本"。通过程序阅读时,不会破坏线路。

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

调用ReadLine()功能时,它基本上取消了所有格式并仅返回干净的字符串。

以及关于您的n问题,请尝试以下方法:

currentLine = sr.ReadLine();
while (currentLine != "[/CONTENT]")
{
    m_content += Environment.NewLine+currentLine;
    currentLine = sr.ReadLine();
}

使用File.ReadAllLines并加入结果线

例如

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

最新更新