1

ユーザーがメールを入力できるテキストボックスがあります。私がやりたいのは、送信ボタンをクリックしたときにそれを作成することです。その電子メールは、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

4 に答える 4

7

StreamWriterを使用して、テキスト ファイルを操作できます。モードのWriteLineメソッドは、true毎回新しい行にメールを追加します....

using (StreamWriter writer = new StreamWriter("email.txt", true)) //// true to append data to the file
{
    writer.WriteLine("your_data"); 
}
于 2012-09-16T06:27:44.940 に答える
1

公式のMSDN ドキュメントから:

using (StreamWriter w = File.AppendText("log.txt"))
{
   MyWriteFunction("Test1", w);
   MyWriteFunction("Test2", w);
}
于 2012-09-16T06:25:26.617 に答える
1

StreamWriter追加モードで使用します。でデータを書き込みますWriteLine(data)

using (StreamWriter writer = new StreamWriter("emails.txt", true))
{
    writer.WriteLine(email);
}
于 2012-09-16T06:26:18.997 に答える
0

非常に簡単な答えを持つ非常に簡単な質問のようです:既存のファイルを開き、1行を追加します

現在のコードを投稿すると、上書きではなく追加するように変更できます。

于 2012-09-16T06:22:49.873 に答える