繁体   English   中英

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

[英]Saving Data to a Text File in 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

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

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

你需要这个

例:

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

using时,将完成释放StreamWriter ,因此,再次单击该按钮时,没有StreamWriter正在访问该文件,并且可以创建StreamWriter另一个实例,而不会出现问题。

正是出于这个目的StreamWriter构造函数有一个重载:

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

第二个参数是:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM