替换文本文件 C# 中的文本
本文关键字:文本 文件 替换 | 更新日期: 2023-09-27 18:30:59
替换文本文件中文本的最佳方法是什么?
- 我不想给文件一个新名字
- 我不希望文本变成一个长字符串,这是我使用 File.ReadAllText 时发生的情况,因为它存储为字符串并且我丢失了回车等......
另外,我想我会在使用StreamReader/StreamWriter时遇到问题,因为您无法读取和写入同一个文件?
谢谢
您可以使用打开用于读取和写入的流来执行此操作:
FileStream fileStream = new FileStream(@"c:'myFile.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None);
var streamWriter = new StreamWriter(fileStream);
var streamReader = new StreamReader(fileStream);
...
fileStream .Close();
但最简单的方法仍然是读取所有文件,编辑文本并将其写回文件:
var text = File.ReadAllText(@"c:'myFile.txt");
...
File.WriteAllText(@"c:'myFile.tx", text);
根据您的文件格式,您还可以逐行读取文件(使用 File.ReadLines)并执行每行的文本替换。
您还可以参考此答案以获取基于流的变体,如果您的文件很大,这是首选方法。
如何在 .NET 中读取大型 (1 GB) txt 文件?