如何编辑特定的文本行VB

时间:2013-09-28 15:21:10

标签: vb.net

我是这样的,当我启用一个复选按钮时,某一行文字会发生变化。 这就是我到目前为止所做的:

    Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles    CheckBox1.CheckedChanged
    FileOpen(1, "C:\ServerMaker\Vanilla\server.properties", OpenMode.Output)
    If CheckBox1.Checked Then
        FileSystem.WriteLine("")
    End If
End Sub

我希望第7行更改为文本“allow-flight = true”,如果未选中,我希望它为“allow-flight = false”

1 个答案:

答案 0 :(得分:1)

由于truefalse的长度不同,因此您必须先阅读所有行。然后你可以写下修改过的文件:

Dim lines As New List(Of String)
'Read the current contents
Using file = System.IO.File.OpenText("server.properties")
    While Not file.EndOfStream
        lines.Add(file.ReadLine)
    End While
End Using
'Write the modified contents
Using file As New StreamWriter("server.properties")
    For i As Integer = 0 To lines.Count - 1
        If i = 6 Then
            file.WriteLine("allow-flight=" & IIf(CheckBox1.Checked, "true", "false"))
        Else
            file.WriteLine(lines(i))
        End If
    Next
End Using

支票If i = 6可能应为If lines(i).StartsWith("allow-flight="),以允许该行位于其他地方。