Vb.net writeToFile.WriteLine退格?

Vb.net writeToFile.WriteLine退格?,vb.net,Vb.net,我想在.txt文件中写入一些文本,这就是我所拥有的,它主要工作: If System.IO.File.Exists(sListItems) = True Then Dim writeToFile As New System.IO.StreamWriter(sListItems, True) writeToFile.WriteLine(vbCrLf & txtGameTitle.Text) writ

我想在.txt文件中写入一些文本,这就是我所拥有的,它主要工作:

        If System.IO.File.Exists(sListItems) = True Then

            Dim writeToFile As New System.IO.StreamWriter(sListItems, True)

            writeToFile.WriteLine(vbCrLf & txtGameTitle.Text)
            writeToFile.Close()

        Else

            MsgBox("Error!")

        End If
    End If

问题在于,当我输入诸如“Hello”之类的文本时,它会被放入txt文件“Hello”(带有空格)。有没有办法解决这个问题?

嗯,我想我已经解决了。我改变了:

writeToFile.WriteLine()

writeToFile.Write()

它不再提供空间

编辑:


我知道我的问题是什么,我在使用lbGameList.SelectedItem.ToString()查找名称,它给了我空格,所以我添加了.TrimEnd,它现在可以工作了,谢谢

不要使用
File.Exists()
。这是一个等待爆炸的比赛状态,而且速度较慢。相反,寻找与您想要如何使用该文件相匹配的
FileMode
;然后在异常失败时处理该异常(由于前面提到的竞争条件,您仍然需要处理该异常)

此外,如果
使用的
块正确,则不需要调用
.Close()

但我想知道您是否真的关心该文件已经存在,您真正需要做的是:

File.AppendAllText(sListItems, txtGameTitle.Text)

不确定添加空格的原因,但您可以始终将.TrimEnd()应用于TXTGAMETILE.Text。@petryuno它只是
.Trim()
。。。总之,只需执行此操作
txtgametTitle.Text.Trim()
。也无需检查文件是否存在,如果不存在,则将创建该文件。不要使用file.Exists()@Zaggler I write.TrimEnd(),因为他指定了一个尾随空格,并且没有说他希望从一开始就删除空格。Trim()删除字符串开头和结尾的字符。
File.AppendAllText(sListItems, txtGameTitle.Text)