一切正常,直到我注册新用户并点击"保存"它用新信息覆盖文本文件中的什么,我想添加一个新行并开始再次添加内容数组。我知道有一个"追加"功能,但我尝试了很多东西,似乎无法使用我目前写入文件的方式。
private async void button1_Click(object sender, EventArgs e)
{
string[] contents = new string[4];
contents[0] = "Name: " + txtName.Text;
contents[1] = "Address: " + txtAddress.Text;
contents[2] = "Phone: " + txtPhone.Text;
contents[3] = "Blood Type: " + cmbBloodType.SelectedItem.ToString();
System.IO.File.WriteAllLines( @"C:\Users\Ben\Documents\C#\Final\Bloodbank\BloodBank\bin\Debug\Bloodbank.txt", contents);
}
答案 0 :(得分:1)
你试过File.AppendAllText()
吗?
这是一个例子:
File.AppendAllText(@"C:\Users\Ben\Documents\C#\Final\Bloodbank\BloodBank\bin\Debug\Bloodbank.txt", "content" + Environment.NewLine);
答案 1 :(得分:1)
我认为这是因为你的内容是一个数组,所以你必须将这个数组连接成一个字符串,如:
System.IO.File.AppendAllText(@"C:\Users\Ben\Documents\C#\Final\Bloodbank\BloodBank\bin\Debug\Bloodbank.txt", string.Join(Environment.NewLine, contents));
答案 2 :(得分:0)
已修改的代码:当您要保存文件时,请尝试:
private async void button1_Click(object sender, EventArgs e)
{
System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder();
stringBuilder.AppendLine("Name: " + txtName.Text);
stringBuilder.AppendLine("Address: " + txtAddress.Text);
stringBuilder.AppendLine("Phone: " + txtPhone.Text);
stringBuilder.AppendLine("Blood Type: " + cmbBloodType.SelectedItem.ToString());
System.IO.File.AppendAllText(@"C:\Users\Ben\Documents\C#\Final\Bloodbank\BloodBank\bin\Debug\Bloodbank.txt", stringBuilder.ToString() + Environment.NewLine);
}
这应该将文本附加到文件的末尾。官方文档可在此处找到:https://msdn.microsoft.com/en-us/library/ms143356(v=vs.110).aspx
希望这有帮助!