c# - 替换文本文件中的文本 c#

标签 c# .net

替换文本文件中文本的最佳方法是什么?

  1. 我不想给文件重新命名
  2. 我不希望文本变成一个长字符串,当我使用 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);

关于c# - 替换文本文件中的文本 c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26992939/

相关文章:

c# - 一个例程/函数中的 CSV 解析器?

c# - 在 .net 中禁用通过 SqlTransaction 读/写表?

c# - 当不将子节点添加到vm的构造函数中时,WPF TreeView 不显示子节点

c# - charCodeAt 到 C# 的转换

c# - 如何清除窗体中透明控件上的图形

c# - "does not contain a definition...and no extension method.."错误

c# - 在 MVC 2 中,如何使用 C# 确定服务器上是否存在文件?

c# - 使用 C# 向电子邮件添加附件

c# - 使用 Linq exceptBy 函数的泛型类中出现奇怪的编译器错误

C# : Adding items to comboBox error