读取和写入C#中现有的.txt文件

  • 本文关键字:txt 文件 读取 c# .net file io
  • 更新时间 :
  • 英文 :


这里是初学者,我在读取和写入现有的.txt文件时遇到了一些问题。我的总体目标是接收包含方程(由数字和+、-、*、/、(,)运算符指定)的字符串,通过我构建的计算器运行这些方程(请参阅Calculate方法),然后将结果写入同一文件。假设我的文件包含以下行:

1+8

sin(90)+9

然后,我应该写入该文件,所以它看起来像这样:

1+8=9

sin(90)+9=10

等等。

到目前为止,我得到的是:

List<string> lines = new List<string>();
List<string> results = new List<string>();
foreach (string line in File.ReadLines(@"C:Users...file.txt"))
{
string result = Calculate(line).ToString();
}

现在我真的不知道该怎么办。我一直在尝试使用File.WriteAllLines和File.AppendText,但出现了一个错误,当前流似乎已被占用。

有什么建议吗?谢谢

File.ReadLines切换到File.ReadAllLines

在后台,ReadLines使用Streams在您请求时读取文件中的每一行。然而,为了做到这一点,它需要锁定文件以防止其他访问。您无法写入当前正在读取的文件(即在foreach循环内)。

ReadAllLines将所有线路加载到存储器中。然后你可以自由地覆盖原始文件,因为你已经吸收了所有你需要的信息。


作为替代方案,您可以继续使用ReadLines,只需确保将结果写入不同的文件即可。

相关内容

  • 没有找到相关文章

最新更新