2014-10-29 2 views
1

Я хотел бы отредактировать определенную строку в текстовом файле с помощью vb.net. Пример ниже мои данные в текстовом файле:Как отредактировать строку данных в текстовом файле

Port1.txt

data1

data2

data3

Data4

данные

data6

данных7

Я хотел бы изменить данные 5 (строка 5) в текстовом файле в dataXX. Как мне это сделать?

До сих пор, используя приведенный ниже код, я могу получить доступ ко всем перечисленным данным вместо данных строки.

Dim path As String = "c:\Users\EliteBook\Desktop\Port1.txt" 

    Dim readText() As String = File.ReadAllLines(path) 
    Dim s As String 
    For Each s In readText 
     MsgBox(s) 
    Next 

Это даст мне вывод в msgbox всех данных, перечисленных в текстовом файле. Как мне получить доступ к определенной строке данных, а не ко всему? Я отредактировал этот вопрос в соответствии с предложением Nahum Litvin через here

ответ

2

ответ Наум является правильным, но это в C#. Вот эквивалент VB.NET, используя данные в коде, который размещен в вашем вопросе:

Dim path As String = "c:\Users\EliteBook\Desktop\Port1.txt" 
Dim readText As String() = File.ReadAllLines(path) 
readText(4) = "dataXX" 
File.WriteAllLines(path, readText) 

Приведенный выше код считывает файл в массив строки, одной строки на элемент. Затем он изменяет элемент 4 (5-я линия) до «dataXX», в этой строке кода:

readText(4) = "dataXX" 

Затем он сохраняет массив обратно в файл, с линией 5 чтения «dataXX».

2

ur, используя неправильные методы.

http://msdn.microsoft.com/en-us/library/s2tte0y1(v=vs.110).aspx

approxemently, как это у меня нет компилятора под рукой

string path = @"c:\temp\MyTest.txt"; 
string[] readText = File.ReadAllLines(path); 
string[4] = "new data"; 
File.WriteAllLines(path, readText); 
+0

Я отредактировал вопрос. ReadAllLines позволяет мне читать все данные в текстовом файле. Как указать, где остановиться? Плюс я не понимаю, почему они использовали Dim s как строку и a для каждого s. –

+0

'File.ReadAllLines' возвращает массив строк, один элемент массива в строке. Нет «остановки» - он считывает весь файл в массив. Вы получаете доступ к строке, которую хотите по соответствующему индексу в массиве, но не забывайте, что массивы основаны на нуле, поэтому строка 5 будет индексом 4 в массиве. – Tim

+0

@Tim, как мне получить доступ к массиву, потому что, когда я использовал MsgBox (s (0)). Это приводит к отображению данных столбца 0., который является «d». –

Смежные вопросы