我得到了一个文本文件,其中每行的结尾都是CRLF,这很好,但是文件在行内容中有一些LF行。
我试图替换行内容中的LF,如下所示:
var fileContent = File.ReadAllText(fileName);
fileContent = Regex.Replace(fileContent, @"(?<!\r)\n", " ");
File.WriteAllText(fileName, fileContent);这个很好用。但是当我试图处理大文件(超过150 am )时,抛出内存异常。
试着
List<string> text = File.ReadAllLines(filePath).ToList();读取行并将其替换为行。但这是行不通的,因为它在LF上分裂
如何通过CRLF强制拆分行?
发布于 2016-02-15 01:16:04
您可以使用返回File.ReadLines的IEnumerable,这意味着它只在需要时使用产出量功能提取一行。
在成功地写到anotherFilename之后,我们删除了fileName,并将anotherFilename移到他的位置。
foreach (var line in File.ReadLines(fileName))
{
File.WriteAllText(anotherFilename, line + Environment.NewLine);
}
File.Delete(fileName);
File.Move(anotherFilename, filename);注意:还没有经过测试。
https://stackoverflow.com/questions/35400016
复制相似问题