我有一个文本框,用户可以在其中输入他们的电子邮件,我想要做的就是当他们点击提交按钮时。该电子邮件将保存到名为emails.txt的文本文件(在我的服务器上)
我设法使用System.IO然后使用File.WriteAll方法使其工作。但是我想这样做,它会将电子邮件添加到列表中(在新行上),而不是覆盖已经存在的内容。
我见过人们提到使用Append,但我不太清楚如何让它工作。
这是我当前的代码(覆盖而不是追加)。
public partial class _Default : Page
{
private string path = null;
protected void Page_Load(object sender, EventArgs e)
{
path = Server.MapPath("~/emails.txt");
}
protected void emailButton_Click(object sender, EventArgs e)
{
File.WriteAllText(path, emailTextBox.Text.Trim());
confirmEmailLabel.Text = "Thank you for subscribing";
}
}
答案 0 :(得分:7)
您可以使用StreamWriter来处理文本文件。 WriteLine
模式下的true
方法每次都会在新行中附加您的电子邮件....
using (StreamWriter writer = new StreamWriter("email.txt", true)) //// true to append data to the file
{
writer.WriteLine("your_data");
}
答案 1 :(得分:1)
来自官方MSDN documentation:
using (StreamWriter w = File.AppendText("log.txt"))
{
MyWriteFunction("Test1", w);
MyWriteFunction("Test2", w);
}
答案 2 :(得分:1)
在追加模式下使用StreamWriter
。使用WriteLine(data)
撰写您的数据。
using (StreamWriter writer = new StreamWriter("emails.txt", true))
{
writer.WriteLine(email);
}
答案 3 :(得分:0)
似乎是一个非常简单的问题,答案非常简单:Open existing file, append a single line
如果您发布当前代码,我们可以修改它以附加而不是覆盖。