所以这是我的问题: 第一,我需要阅读一个文本文件并获得行号5
System.IO.File.ReadAllText("E:\myFile.txt")
我的文字文件是这样的:
ABCDE "2015"
GDFTHRE "0.25 0.25"
TRYIP "192.168.1.6"
WIDTH "69222"
ORIGIN "200"
所以,我需要的是替换值200,比方说250并保持这一行:ORIGIN "250"
我尝试过替换,但我无法获得它。
答案 0 :(得分:2)
如果您的文本文件被划分为行,并且您只想查看第5行,则可以使用ReadAllLines将行读取为String数组。处理第4行(第5行)并使用WriteAllLines重写文件。以下示例检查文件是否包含至少5行,并且第5行以&#34开头; ORIGIN&#34 ;;如果是这样,它将取代ORIGIN" 250"并重写该文件。
Dim filePath As String = "E:\myFile.txt"
Dim lines() As String = System.IO.File.ReadAllLines(filePath)
If lines.Length > 4 AndAlso lines(4).StartsWith("ORIGIN ") Then
lines(4) = "ORIGIN ""250"""
System.IO.File.WriteAllLines(filePath, lines)
End If
答案 1 :(得分:1)
您可以简单地替换文本,然后再将所有内容写回文件:
Dim content As String
' read all text from the file to the content variable
content = System.IO.File.ReadAllText("E:\myFile.txt")
' replace number, text, etc. in code
content = content.Replace("<string to replace>","<replace with>")
' write new text back to the file (by completely overwriting the old content)
System.IO.File.WriteAllText("E:\myFile.txt",content)