【发布时间】:2015-10-02 20:14:30
【问题描述】:
我想更新我尝试过的 CSV 文件的行,但我只找到了添加新行的 append。因为我需要更新行而不是插入新行。
这是我的 csv 文件中的数据
EnjoyBaseHid=hid://002AB1E3,MinID=1,MaxID=900 EnjoyBaseHid=hid://005AC1D4,MinID=1,MaxID=600
我要根据EnjoyBaseHid更新
While Not sr.EndOfStream
Dim line = sr.ReadLine()
Dim values() As String = line.Split(",")
If values(0).Equals("EnjoyBaseHid=" & portAddress) Then
Nobasefound = False
line = line.Replace(values(1), "MinID=" & minID)
line = line.Replace(values(2), "MaxID=" & maxID)
sr.Close()
Dim strWrite As New IO.StreamWriter(ExportListPathString, False)
strWrite.WriteLine(line)
strWrite.Close()
Exit While
End If
End While
这会覆盖所有文件,结果是
EnjoyBaseHid=hid://005AC1D4,MinID=1,MaxID=1000
当我更改以下行时
Dim strWrite As New IO.StreamWriter(ExportListPathString, False)
到这里
Dim strWrite As New IO.StreamWriter(ExportListPathString, True)
它追加新行,结果如下
EnjoyBaseHid=hid://002AB1E3,MinID=1,MaxID=900
EnjoyBaseHid=hid://005AC1D4,MinID=1,MaxID=600
EnjoyBaseHid=hid://005AC1D4,MinID=1,MaxID=1000
但我需要这个
EnjoyBaseHid=hid://002AB1E3,MinID=1,MaxID=900 EnjoyBaseHid=hid://005AC1D4,MinID=1,MaxID=1000
【问题讨论】:
-
两个流怎么样。一个读者和一个作家。从源文件中写入每一行,直到到达要插入新行的位置。然后写新行。通过编写源文件中的其余行来完成。
-
我同时使用流写入器和读取器 sr 是流读取器,strwrite 是流写入器,我不想插入新行我只想更新文件中存在的行
标签: vb.net streamreader streamwriter