如何替换大文本(*.csv)文件(~2 GB)中的一些 NewLine字符?
我无法使用File.ReadAllText读取整个文件,因为获取OutOfMemory错误而我无法使用StreamReader,因为它会删除所有NewLine字符.
这是一些示例文本:
Row1Field1;Row1Field2;Row1Field3(NewLine) Row2Field1;Row2Fie(NewLine) *<--- This newline is by mistake and I want to replace it!* ld2;Row2Field3(NewLine) Row3Field1;Row3Field2;Row3Field3(NewLine)
Felice Polla.. 5
你应该使用StreamReader(即使你说你不能)并逐行读取文件.当你找到一个错误的新行时,只需将该行保留在内存中并与接下来的那行连接(如果一次出现多个错误行,可能会更多)并在输出流中写回.如果ReadLine删除行结尾并不重要.只需使用WriteLine在输出流中写入,您就可以再次使用新行.
你应该使用StreamReader(即使你说你不能)并逐行读取文件.当你找到一个错误的新行时,只需将该行保留在内存中并与接下来的那行连接(如果一次出现多个错误行,可能会更多)并在输出流中写回.如果ReadLine删除行结尾并不重要.只需使用WriteLine在输出流中写入,您就可以再次使用新行.