0

所以我有一个正在处理的程序,我需要读取 .ini 文件的行,然后将用户定义的文本写入该文件中的某一行。到目前为止,我的一些代码是:

Dim File As String = ".\TestFile.ini"
    Dim FileText As String
    Dim NewText As String = TextBox2.Text
    Dim lines() As String
    Dim separator() As String = {Environment.NewLine}
    Dim x As Integer = 0
    If My.Computer.FileSystem.FileExists(File) Then
        FileText = My.Computer.FileSystem.ReadAllText(File)
        lines = FileText.Split(separator, StringSplitOptions.RemoveEmptyEntries)
        While x < lines.Length()
            If lines(x).Contains("Nickname") Then
                lines(x) = "Nickname" & "=" & TextBox2.Text
            End If
            NewText = NewText & lines(x) & Environment.NewLine
            x = x + 1
        End While
        My.Computer.FileSystem.WriteAllText(File, NewText, False)
    Else
        MsgBox("File does not exist!")
    End If

我要编辑的文件如下所示:

Don't edit this line
Don't edit this line
Don't edit this line
Don't edit this line
Nickname=test
Don't edit this line
Don't edit this line
Don't edit this line

我只想在第 4 行编辑这个单词“test”,但我的代码确实做到了这一点,而且还添加了我在文件开头放入 TextBox2 的任何内容。像这样(假设我把 HelloWorld 放在 TextBox2 中):

HelloWorldDon't edit this line
Don't edit this line
Don't edit this line
Don't edit this line
Nickname=HelloWorld
Don't edit this line
Don't edit this line
Don't edit this line

有人知道我的代码有什么问题吗?对不起,我对此很陌生。

4

1 回答 1

2
Line 3: Dim NewText As String = TextBox2.Text

初始化 NewText = "HelloWorld"

然后你添加了第一行:

Line 14:  NewText = NewText & lines(0) & Environment.NewLine 

NewText 现在等于 "NewWorld" & lines(0) & NewLine

尝试 Dim NewText = String.Empty第 3 行。

于 2015-01-31T22:13:37.110 回答