我想使用vb.net编辑文本文件中的特定行。 以下示例是我在文本文件中的数据:
Port1.txt
DATA1
DATA2
DATA3
DATA4
DATA5
DATA6
DATA7
我想将文本文件中的data5(第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
编辑了这个问题答案 0 :(得分:2)
你使用了错误的方法。
http://msdn.microsoft.com/en-us/library/s2tte0y1(v=vs.110).aspx
差不多就像这样我手头没有编译器
string path = @"c:\temp\MyTest.txt";
string[] readText = File.ReadAllLines(path);
string[4] = "new data";
File.WriteAllLines(path, readText );
答案 1 :(得分:2)
Nahum的回答是正确的,但它在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"。