我正在使用windowes表单application..i创建了一个文本文件..
Dim file As String = "C:\textfile.txt"
If System.IO.File.Exists(file) = True Then
If locid = txtvalue Then
Else
Dim objWriter As New System.IO.StreamWriter(file, True)
file = file.Replace(txtvalue, loc)
objWriter.WriteLine(file, loc)
objWriter.Close()
End If
End if
在这两个值中,txtvalue
和loc
值。如果此值不相同,那么我想将txtvalue
替换为loc
值。
txtvalue
是文本文件中的现有值
loc
值是代码
中的新值
执行此代码后,我同时获得了两个值,而不是用新值替换现有值。新代码
答案 0 :(得分:0)
根据你的问题,我认为你想要这样的东西(未经测试)
Dim NewValue = "Something to store"
Dim Path = "..."
If IO.File.Exists(Path)
'Read existing value
Dim Existing = IO.File.ReadAllText(Path)
If Existing <> NewValue
'It's different to the new value, overwrite it.
IO.File.WriteAllText(Path, NewValue)
End If
Else
'File doesn't exist. Create it
IO.File.WriteAllText(Path, NewValue)
End If
如果内容没有改变,这可以避免写入文件......当然,如果数据很小(小于兆字节),你就不会试图避免与打开文件句柄冲突而你和&# #39;不要紧紧地做这件事,你最好还是写一下......
IO.File.WriteAllText(Path, NewValue)
它更具可读性/可维护性,一次性写入的开销应该可以忽略不计。