我正在创建一个程序,允许您将学生信息添加到现有的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()
任何帮助将不胜感激,谢谢!
答案 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()