【发布时间】:2009-11-26 17:29:29
【问题描述】:
我想使用 System.IO.File.ReadAllLines 将文本文件读入字符串数组。但是,ReadAllLines 会删除文件中我想保留的一些奇怪字符,例如 chr(187)。我尝试了一些不同的编码选项,但这无济于事,而且我没有看到“无编码”选项。
我可以使用 FileOpen 和 LineInput 来读取文件而无需修改,但这有点慢。使用 FileSystemObject 也可以正常工作,但我不想使用它。
在.net中将文本文件读入字符串数组而不进行修改的最佳方法是什么?
【问题讨论】:
-
你能发布你现在如何做的代码吗?
-
请记住,
string是“一系列字符”的数据类型。如果您想保留文件当前外观的确切方式,您可能应该使用字节数组。否则,您必须知道编码才能赋予字节可以在字符串中表示的含义。 -
由于编码不同,请具体说明您希望看到的 CHR(187) 字符。例如,“右指向双角引号”。是你要找的那个吗?
-
现在我正在使用 ss = File.ReadAllLines(infile, System.Text.Encoding.default)。我意识到我可以使用字节数组,但我更喜欢使用字符串,因为我处理字符串。更重要的是,当我阅读一个文件时,我想确保我得到了所有文件,没有删除一些字符。
-
那么你实际上想要的是字节,而不是字符。看我的回答。
标签: .net vb.net file text encoding