C# |StreamWriter 不断替换当前行

本文关键字:替换 StreamWriter | 更新日期: 2023-09-27 18:32:03

所以我有这个应用程序,其中有 3 个文本框要求用户输入。当用户完成填写文本框后,有一个按钮将输入存储到类中。

现在的想法是,当用户按下按钮来存储类的输入时,输入也会存储到文本文件中。我现在面临的问题是,每当用户添加新输入时,旧输入都会在文本文件中被替换。

这是代码:

using (StreamWriter txtFile = new StreamWriter(@"C:'Users'Desktop'smtp.txt"))
{
    txtFile.WriteLine(Class_Smtp[Index].SmtpClientName);
    txtFile.WriteLine(Class_Smtp[Index].SmtpPort);
    txtFile.WriteLine(Class_Smtp[Index].SmtpEmailExtension + Environment.NewLine);
}

有什么想法吗?

提前谢谢你。

C# |StreamWriter 不断替换当前行

你应该附加文本

using (StreamWriter txtFile = new StreamWriter(@"C:'Users'Desktop'smtp.txt", true))
{
    txtFile.WriteLine(Class_Smtp[Index].SmtpClientName);
    txtFile.WriteLine(Class_Smtp[Index].SmtpPort);
    txtFile.WriteLine(Class_Smtp[Index].SmtpEmailExtension + Environment.NewLine);
}

使用接受 bool 参数的 StreamWriter 构造函数重写来告诉它是追加还是替换,并传递true

public StreamWriter(string path, bool append)

对于您的示例:

using 
(
    StreamWriter txtFile = new StreamWriter
    (
        @"C:'Users'Desktop'smtp.txt", 
        true // <=== This parameter tells it to append
    )
)