簡體   English   中英

在 C# 中讀取和寫入現有的 .txt 文件

[英]Reading and writing to an existing .txt file in C#

初學者在這里,我在讀取和寫入現有的 .txt 文件時遇到了一些麻煩。 我的總體目標是接收包含方程的字符串(由數字和 +,-,*,/,(,) 運算符指定),通過我構建的計算器運行這些方程(參見計算方法),然后將結果寫入同一個文件。 假設我的文件包含以下幾行:

1+8

罪(90)+9

然后,我應該寫入該文件,所以它看起來像這樣:

1+8 = 9

罪(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 ,只需確保將結果寫入不同的文件即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM