Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net StreamWriter.WriteLine未以新行写入_Vb.net_Streamwriter - Fatal编程技术网

Vb.net StreamWriter.WriteLine未以新行写入

Vb.net StreamWriter.WriteLine未以新行写入,vb.net,streamwriter,Vb.net,Streamwriter,我使用以下代码将DataTable写入文本文件 Using sbData As New StreamWriter(fileName, False, Encoding.UTF32) sbData.Write(String.Join("\t", dataTable.Columns.Cast(Of DataColumn)().Select(Function(arg) arg.ColumnName.Trim()))) sbData.WriteLine() For Each dat

我使用以下代码将DataTable写入文本文件

Using sbData As New StreamWriter(fileName, False, Encoding.UTF32)
    sbData.Write(String.Join("\t", dataTable.Columns.Cast(Of DataColumn)().Select(Function(arg) arg.ColumnName.Trim())))
    sbData.WriteLine()
    For Each dataRow As DataRow In dataTable.Rows
        sbData.Write(String.Join("\t", dataRow.ItemArray.Select(Function(arg) arg.ToString().Trim())))
        sbData.WriteLine()
    Next
    sbData.Flush()
    sbData.Close()
End Using
数据正在写入文本文件,但\t(制表符)既不工作也不可写入。 我在文本文件中得到“\t”而不是tab,所有内容都在继续。 有人知道这里出了什么问题吗?

问题已解决: 对于tab,我使用了ControlChars.tab,它工作得非常好。 对于WriteLine,我想它与编码有关。我从UTF32切换到Unicode,它开始工作了

将尝试找出问题的确切原因,但目前问题已得到解决:-)

“\t”
仅适用于大括号语言,如C#,您必须在VB.NET中使用vbTab


使用utf32很奇怪,WriteLine()似乎不起作用。无论您使用什么程序来查看文件,都不会预料到它,并且会猜测错误的编码。也是您在“\t”中看到空格的原因。当您使用不寻常的编码时,编写BOM表不是可选的。请强烈考虑使用EncOut.UTF8,默认为流写器。< / P>嗨,谢谢你的回复。我正在使用记事本读取txt文件。我的应用程序还输出一些瑞典语和德语字符。我不知道它们是否有UTF8版本。你也可以帮我解释一下。再次感谢…UTF8编码Unicode,它懂瑞典语和德语。传递
newencoding.UTF8(True)
以确保记事本始终正确。