【发布时间】:2011-05-23 19:36:41
【问题描述】:
如果文件是文本文件,而StreamReader 可以算出它使用的Encoding,我如何在不读取整个文件的情况下知道它有多少字符?
我正在读取 1GB 的 CSV 文件,使用 StreamReader 读取它至少需要 4 秒。 File.ReadAllText().Length 会导致 System.OutOfMemoryException。
我想如果我有FileInfo(filename).Length 和Encoding,那么我可以计算字符数。
【问题讨论】:
-
这取决于编码的类型,
length会给你字节数,在 ASCII 中是字符数,但对于 UTF/Unicode,你在解码之前无法知道。
标签: c# .net file character-encoding streamreader