如何在C#中替换大文本文件中的换行符

 小-捌_350 发布于 2023-02-10 22:09

如何替换大文本(*.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在输出流中写入,您就可以再次使用新行.

1 个回答
  • 你应该使用StreamReader(即使你说你不能)并逐行读取文件.当你找到一个错误的新行时,只需将该行保留在内存中并与接下来的那行连接(如果一次出现多个错误行,可能会更多)并在输出流中写回.如果ReadLine删除行结尾并不重要.只需使用WriteLine在输出流中写入,您就可以再次使用新行.

    2023-02-10 22:42 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有