Vb.net 环境换行符在文本文件中不起作用

Vb.net 环境换行符在文本文件中不起作用,vb.net,Vb.net,我正在实例化StringBuilder并尝试写入文本文件。我的代码可以很好地写入文本文件,但是StringBuilder没有为我创建回车符 我试过了 环境新线 \n .AppendLine() 而且StringBuilder对象似乎不起任何作用 _mErrInfo.ErrorLog.Append("Start Validiting Detail....." + Environment.NewLine) 下面是我用来创建插入平面文件的字符串的一些代码 'ErrorLog是一个新的String

我正在实例化StringBuilder并尝试写入文本文件。我的代码可以很好地写入文本文件,但是StringBuilder没有为我创建回车符

我试过了

  • 环境新线
  • \n
  • .AppendLine()
而且StringBuilder对象似乎不起任何作用

_mErrInfo.ErrorLog.Append("Start Validiting Detail....." + Environment.NewLine)
下面是我用来创建插入平面文件的字符串的一些代码

'ErrorLog是一个新的StringBuilder对象

_mErrInfo.ErrorLog.Append("Start Validiting Detail....." + Environment.NewLine)

我会尝试将append更改为appendline,如下所示:

_mErrInfo.ErrorLog.AppendLine("Start Validiting Detail.....")
我也会尝试:

_mErrInfo.ErrorLog.Append(vbCrLf)
或将整行更改为:

_mErrInfo.ErrorLog.Append("Start Validiting Detail....." & vbCrLf)
或者尝试:

_mErrInfo.ErrorLog.AppendLine("<br />")
\u mErrInfo.ErrorLog.AppendLine(

附录行是一条路要走

例如:

Dim sb As New System.Text.StringBuilder
sb.AppendLine("Start Validating Detail.....")

For i = 0 To 10
  sb.AppendLine(i)
Next

Using sw As New IO.StreamWriter("log.txt")
  sw.Write(sb.ToString)
End Using
输出:

开始验证详细信息…
0
1
2
3
4
5
6
7
8
9

10

我建议使用StreamWriter的WriteLine方法。以下是MSDN参考说明

也许这对你有用

    Dim crlf As String = Convert.ToChar(10) & Convert.ToChar(13)
    _mErrInfo.ErrorLog.Append("Start Validating Detail....." + crlf)

\n是换行符,\r是回车符。但我认为VB不理解这些逃避。您可以手动写入chr(13)和chr(10)字节或vbCrLf常量。在Windows中,文本文件需要两个字符。像这样连接
Environment.NewLine
,就可以了。调用
AppendLine
会更好。正如@mafafu所说,
\n
在VB.NET中不起作用。问题不在于
StringBuilder
。问题一定在其他地方,例如将
StringBuilder
的内容输出到文本文件的位置。请显示实际写入文件的代码。追加
Environment.NewLine
与StringBuilder以及
AppendLine
一起工作。我已经用过很多次了。问题一定出在其他地方。刚刚添加了一个新问题,请尝试。