使用C#将文本框中的数据写入ASP.net中的文本文件

时间:2012-09-16 06:18:59

标签: c# asp.net writetofile

我有一个文本框,用户可以在其中输入他们的电子邮件,我想要做的就是当他们点击提交按钮时。该电子邮件将保存到名为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";
    }
}

4 个答案:

答案 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

如果您发布当前代码,我们可以修改它以附加而不是覆盖。