我正在更改文本中的值,但相反,它会覆盖我的整个.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文件中正确更改/编辑/替换特定值?
由于
答案 0 :(得分:0)
new StreamWriter(@"C:\Users\Callum\Documents\class.txt", true)
您没有使用重载来追加。在您输入时,可以在Intellisense中轻松查看。
提示:File.Open-Method更易于使用。这个主题SO article