2

一直在寻找这个几个小时,找不到任何可以正确执行此操作的东西。将字符串写入文本文件时,最后会输出一个空行。

writeString = New StreamWriter(path, False)
writeString.WriteLine("Hello World")
writeString.Flush()
writeString.Close()

这会将以下内容写入文件:

Hello World
(Blank Line)

我试过删除字符串的最后一个字符(既作为常规字符串,varString.Substring(0, varString.Length - 1)也作为字符串列表varList.RemoveAt(varList.Count - 1)),但它只是删除了文字的最后一个字符。

我也尝试过使用Replace(vbCrLf, "")它以及它的许多变体,但同样,它们只删除在字符串中创建的文字新行,而不是在末尾神奇地创建的新行。

最好,我正在寻找一种方法,该方法能够在将字符串写入文件之前删除那个神奇的换行符。我找到了从文件中读取然后写回文件的方法,这需要 Write > Read > Write,但在所有情况下,神奇的新行仍然出现。:(

如果需要注意:该文件将包含一个字符串,该字符串可能包含实际的新行(它是“歌曲艺术家 - 歌曲标题”,但可以包含其他信息,如果用户愿意,可以添加新行)。然后,其他应用程序(例如 mIRC 等)读取该文本文件,这些应用程序根据应用程序通过各种方式输出内容。

例如。如果应用程序要读取它并将其输出到文本框.. 新行将另外输出到该文本框.. 这是一个问题!考虑到决定应用程序的是客户端,我无法控制将文件作为输入读取的应用程序,因此需要在输出时删除新行。

感谢您的帮助~!

4

1 回答 1

1

使用Write方法而不是WriteLine. 该WriteLine方法是向文件添加空白 0 长度行的方法,因为它"Hello World"使用换行符终止字符串。

writeString.Write("Hello World")
于 2013-08-24T22:50:17.833 回答