如何在 C# 中将多个文本框中的数据保存到文件 (.txt)
本文关键字:数据 存到文件 txt 文本 | 更新日期: 2023-09-27 18:28:49
private void AddUserSubmitButton_Click(object sender, EventArgs e)
{
try
{
FileStream AddUserData = new FileStream("AddUser.txt", FileMode.OpenOrCreate);
using (StreamWriter AddUserDataWrite = new StreamWriter(AddUserData))
{
AddUserDataWrite.Write(DisplayNameTextBox + "'r'n");
AddUserDataWrite.Write(UserNameTextBox.Text + "'r'n");
AddUserDataWrite.Write(PasswordTextBox.Text + "'r'n");
AddUserDataWrite.Write(ConfirmPasswordTextBox.Text + "'r'n");
AddUserDataWrite.Write(DepartmentComboBox.Text + "'r'n");
AddUserDataWrite.Write(DesignationTextBox.Text + "'r'n");
AddUserDataWrite.Write(BasicSalaryTextBox.Text + "'r'n");
AddUserDataWrite.Write(JoiningDateDateTimePicker.Text + "'r'n");
AddUserDataWrite.Write(AgreeRadioButton.Text + "'r'n");
AddUserDataWrite.Write(FirstNameTextBox.Text + "'r'n");
AddUserDataWrite.Write(LastNameTextBox.Text + "'r'n");
AddUserDataWrite.Write(FatherNameTextBox.Text + "'r'n");
AddUserDataWrite.Write(MaleRadioButton.Text + "'r'n");
AddUserDataWrite.Write(FemaleRadioButton.Text + "'r'n");
AddUserDataWrite.Write(CNICNumberTextBox.Text + "'r'n");
AddUserDataWrite.Write(ContactNumberTextBox.Text + "'r'n");
AddUserDataWrite.Write(EmailAddressTextBox.Text + "'r'n");
AddUserDataWrite.Write(DOBDateTimePicker.Text + "'r'n");
AddUserDataWrite.Write(ResidentialAddressTextBox.Text + "'r'n");
AddUserDataWrite.Write(CityTextBox.Text + "'r'n");
AddUserDataWrite.Write(CountryTextBox.Text + "'r'n");
}
}
catch(Exception exc)
{
MessageBox.Show(exc.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
这是注册表的代码。当我输入数据并单击提交按钮时,文本框中的所有数据都保存到文件"AddUser.txt"中,但是当我第二次输入数据并单击提交按钮时,数据将覆盖到同一文件"AddUser.txt"。
简单地说,每当我单击提交按钮时,我都想创建新的.txt文件,以便每个人的数据保存到单独的.txt文件中。
有什么办法吗?
查看从文本框获取数据 http://www.dotnetperls.com/textbox。
查看将数据保存到文件 http://msdn.microsoft.com/en-us/library/8bh11f1k.aspx。
解决方案 1:
您必须定义输入值的哪种组合使人独一无二。我假设用户名使一个人独一无二,所以也许这可能是解决方案:
var filename = string.Format("AddUser_{0}.txt", UserNameTextBox.Text);
FileStream AddUserData = new FileStream(filename, FileMode.OpenOrCreate);
// code for wrting the information comes here (as you already have in your code)
这将为每个用户创建一个单独的文件。如果用户选择已存在的用户名,则以前的文件将被覆盖。因此,请确保对文件名使用用户属性的唯一组合。
解决方案 2:
还有另一种解决方案,即使用生成的唯一 ID 来创建唯一的文件名。只需在文件名中添加 UID 而不是用户名即可。见 http://msdn.microsoft.com/en-us/library/system.guid.newguid.aspx