无法修改winform应用程序中的文本文件值

时间:2014-03-23 10:35:45

标签: vb.net winforms

我正在使用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

在这两个值中,txtvalueloc值。如果此值不相同,那么我想将txtvalue替换为loc值。
txtvalue是文本文件中的现有值 loc值是代码
中的新值 执行此代码后,我同时获得了两个值,而不是用新值替换现有值。新代码

错误

1 个答案:

答案 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)

它更具可读性/可维护性,一次性写入的开销应该可以忽略不计。