2

我正在制作一个程序,可让您将学生信息添加到现有的 CSV 文本文件中,但每当我使用附加文本时,它会将新信息添加到最后一行的一部分,然后是新行。

我希望它这样做:

约翰·多伊,29,男

约翰·多伊,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()

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

4

2 回答 2

0

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

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

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

不是直接回复您陈述的问题,而是另一种方法。

于 2013-12-05T23:25:36.120 回答
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()
于 2013-12-05T23:25:43.683 回答