vb.net - VB writeline 将损坏的行写入文本文件
问题描述
以下代码是否可以在文本文件中生成 NUL 值?
var temp_str = "123456;1234567"
My.Computer.FileSystem.WriteAllText(Path & "stats.txt", temp_str, False)
这看起来很简单,但它经常写入,我看到几个文件被应用程序访问,这些文件将字符串写入为:
使用 Notepad++ 打开文件时。其他一些编辑器只显示正方形,似乎每个字符都由块/NUL 表示。到目前为止,我无法在我的测试系统上重现这一点。我只是在 COMX 模块的文件系统上找到了在现场运行的文件并返回错误,但我已经看到足够多的这些文件,使其成为需要解决的问题。
有谁知道防止这种行为?
解决方案
如果没有更多代码,很难说问题出在哪里,但是如果您想替换文件的现有内容,请尝试以下操作:
Dim fileContent = "My UTF-8 file contents"
Using writer As IO.StreamWriter = IO.File.CreateText(fullPathIncludingExtension)
writer.Write(fileContent)
End Using
或者,如果您想附加 UTF-8 文本:
Dim newLines = "My UTF-8 content to append"
Using writer As IO.StreamWriter = IO.File.AppendAllText(fullPathIncludingExtension)
writer.Write(fileContent)
End Using
如果要附加 Unicode 文本,则必须为 StreamWriter 使用不同的构造函数:
Using writer As IO.StreamWriter = New IO.StreamWriter("full/path/to/file.txt", True, Text.Encoding.Unicode)
writer.Write(MyContentToAppend)
End Using
请注意,True
构造函数的参数指定您要附加文本。
推荐阅读
- r - 仅在数据帧的特定行或日期上应用具有滚动估计窗口的函数
- tensorflow - Can a pretrained Deep learning model of objects (chair, table) be used to do transfer learning and classify telecom equipment?
- excel - VBA 中的求和积
- c++ - C ++提取和计算文本文件中的单词数
- reactjs - 如何修复我的 GET http://localhost:4000/contacts 404(未找到)错误
- ruby - 为什么 Ruby "RACK_ENV=test" deos 不能用于 db:create 指定测试数据库?
- powershell - 每次在 Powershell 5.0 中运行函数时递增一个数字
- azure-functions - Azure Functions - 添加设置数组?
- serverless-framework - 如何使用无服务器传递引用外部文件?
- html - 将高度设置为 100vh 有效,但我在移动浏览器中得到一个滚动条