[英]Why does my StreamWriter overwrite my whole .txt file?
我正在更改文本中的一個值,但相反,它覆蓋了我的整個 .txt 文件。
static void editClassMates(classMates[] classMateInfo)
{
StreamWriter sw = new StreamWriter(@"C:\Users\Callum\Documents\class.txt");
Console.Write("Who's number would you like to change? ");
string classMateInput = Console.ReadLine();
for (int i = 0; i < classMateInfo.Length; i++)
{
if (classMateInfo[i].last.Equals(classMateInput))
{
Console.Write("Enter new number: ");
string temp = Console.ReadLine();
int classMateNumber = Convert.ToInt32(temp);
classMateInfo[i].ID = classMateNumber;
}
}
sw.Close();
}
我的代碼要求在我的 .txt 文件中輸入名稱。 一旦我指定了名稱,它就會循環直到我的輸入與我的 .txt 文件中的完全相同的名稱匹配。 我現在想改變他/她的號碼。 在我輸入一個數字后,我就有了一個方法來顯示列表和我所做的更改。 這有效,它向我顯示了我的原始數據以及我編輯過的值。
但是,我進入了我的 class.txt 文件,現在它完全是空白的。
我的問題是,我的代碼的哪一部分覆蓋了我的整個文件? 另外,如何正確更改/編輯/替換 .txt 文件中的特定值?
謝謝
new StreamWriter(@"C:\Users\Callum\Documents\class.txt", true)
您沒有使用重載來追加。 這在您鍵入時可以在 Intellisense 中輕松查看。
提示:File.Open-Method 更易於使用。 這篇SO 文章中的主題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.