我正在处理一个较大的文本文件(6.5GB),并且正在使用StreamReader
读取它。
该文件的某些部分使用CRLF分隔,但是有时仅使用LF。
是否有一种简单的方法来确定读入的行仅仅是换行符'\ n'还是换行符'\ r \ n'的回车符。 StreamReader.ReadLine()
似乎将它们视为空值或空值。
我正在处理一个较大的文本文件(6.5GB),并且正在使用StreamReader
读取它。
该文件的某些部分使用CRLF分隔,但是有时仅使用LF。
是否有一种简单的方法来确定读入的行仅仅是换行符'\ n'还是换行符'\ r \ n'的回车符。 StreamReader.ReadLine()
似乎将它们视为空值或空值。
您只需将crlf和lf替换为cr。
using (var reader = new StreamReader(@"yourfile"))
using (var writer = new StreamWriter(@"outfile")) // or any other TextWriter
{
while (!reader.EndOfStream) {
string currentLine = reader.ReadLine();
string newLine = currentLine.Replace('\r\n','\n');
newLine = newLine.Replace('\r','\n');
newLine = newLine.Replace('\n','\r\n');
writer.Write(newLine);
}
}