AppendText不会附加到文本文件/ vb中的下一行

时间:2013-12-05 21:03:51

标签: vb.net appendtext

我正在创建一个程序,允许您将学生信息添加到现有的CSV文本文件中,但每当我使用追加文本时,它会将新信息添加到最后一行的一部分,然后添加一行。

我希望它能做到这一点:

  

John Doe,29岁,男性

     

John Doe,29岁,男性

它改为:

  

John Doe,29岁,MaleJo

     

hn Doe,29岁,男性

注意:每组信息之间实际上没有空行,我只是希望它在我发布时很容易阅读。

以下是该部分的代码:

Dim swVar As IO.StreamWriter = IO.File.AppendText(frmMain.fileName)

swVar.WriteLine(txtName.Text & "," & txtAge.Text & "," & gender)

swVar.Close()

任何帮助将不胜感激,谢谢!

2 个答案:

答案 0 :(得分:0)

VS2010(及其他)中的一个方便工具是片段 - 右键单击​​插入片段... - 许多典型任务的代码模式。在您的情况下,这是一个修改过的代码段:

Sub AddToFile(textToAdd As String, filePath As String)
    My.Computer.FileSystem.WriteAllText(filePath, textToAdd, True)
End Sub

您可能需要检查/添加vbNewLine到正在添加的文本,因为不会像WriteLine一样自动添加。

不是直接回复您声明的问题,而是替代方法。

答案 1 :(得分:0)

看看这样的事情是否更好:

IO.File.AppendText(frmMain.fileName, vbNewLine & txtName.Text & "," & txtAge.Text & "," & gender & vbNewLine)

AppendText将在一个操作中打开写入和关闭,因此不需要单独的编写器。它也不会添加换行符,因此必须单独添加换行符

除非你正在对同一个文件进行一系列的写操作,否则这样的事情可能会更合适:

Dim swVar As New IO.StreamWriter(frmMain.fileName, True)
'write your lines here
swVar.WriteLine(txtName.Text & "," & txtAge.Text & "," & gender)

swVar.Close()