Я хочу обновить строку CSV-файла, который я пытался, но только нашел append, добавляющий новую строку. где мне нужно обновить строку, чтобы не вставлять новую строку.Как обновить CSV-файл, чтобы не вставлять новые элементы с помощью vb.net
Вот данные в моем файле CSV
EnjoyBaseHid = спрятанный: // 002AB1E3, MinID = 1, MaxID = 900 EnjoyBaseHid = спрятанный: // 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 = спрятанный: // 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 = спрятанный: // 002AB1E3, MinID = 1, MaxID = 900 EnjoyBaseHid = спрятанный: // 005AC1D4, MinID = 1, MaxID = 1000
Как насчет двух потоков. Читатель и писатель. Напишите каждую строку из исходного файла, пока не достигнете точки, в которую вы хотите вставить новую строку. Затем напишите новую строку. Закончите, написав остальную часть строк из исходного файла. –
Я использую как потоковый wreiter, так и читатель sr - это программа чтения потоков, а strwrite - создатель потока, и я не хочу вставлять новую строку. Я просто хочу обновить строку, существующую в файле –