将数据保存到VB.Net中的文本文件

时间:2017-07-25 19:10:40

标签: vb.net

我有一个正在运行的编写器,它创建一个文本文件并将我需要的信息放在该文件中,但每当我重新运行应用程序时,文本文件将重新创建,当前值将替换旧文件。如何确保先前的数据保存在文本文件中并添加新数据?将数据附加到文件似乎是显而易见的路线,但我只是不确定如何将代码合并到我的程序中。

Dim CorpID, Fname, Lname, PreConf, ConfCost As String
        CorpID = txtCorpID.Text
        Fname = txtFirstName.Text
        Lname = txtLastName.Text
        If radNotAttending.Checked = True Then
            PreConf = ""
        Else
            PreConf = cmbCourses.SelectedItem.ToString
        End If
        ConfCost = decAttendCost.ToString("C")

        Dim wr As StreamWriter
        wr = New StreamWriter("C:\Users\Anon\Documents\SampleTextFile.txt")
        wr.WriteLine(String.Format("{0},{1},{2},{3}, {4}", CorpID, Fname, Lname, PreConf, ConfCost))
        wr.Flush()
        wr = Nothing

2 个答案:

答案 0 :(得分:1)

您需要另一个StreamWriter构造函数的重载。

只需使用wr = New StreamWriter("C:\Users\Anon\Documents\SampleTextFile.txt", true)

即可

您需要this one

示例:

Using wr As new StreamWriter("C:\Users\Anon\Documents\SampleTextFile.txt",true)
    wr.WriteLine($"{CorpID},{Fname},{Lname},{PreConf},{ConfCost})
End Using

使用using时,StreamWriter在完成后会被释放,因此当您再次单击该按钮时,没有StreamWriter正在访问该文件,您可以创建另一个{{1}的失效}}没有问题。

答案 1 :(得分:0)

出于这个目的,the StreamWriter constructor超载了:

wr = New StreamWriter("C:\Users\Anon\Documents\SampleTextFile.txt", True)

第二个参数是:

  

如果要将数据附加到文件,则为true; false覆盖文件。如果指定的文件不存在,则此参数无效,构造函数将创建新文件。