CSV 文件可以包含的最大行数是多少?
我想知道一个具体的数字,因为我的要求是允许最大数量的条目。这个数字是取决于操作系统,还是大小是固定的?
CSV 是一种文本格式。对文件大小以及列数或行数没有正式限制。如果您想要一些“正式”声明,最官方的规范是RFC4180 。
读取文件的文件系统和程序可以施加自己的限制。即许多快速编写的工具无法正确处理大于 2Gb 的文件(整数大小限制),许多首先将内容读取到内存的工具将达到内存限制。
添加到@Alexei 答案我想指定您可以使用它BinaryReader
来查找总行数(对于大于 2GB 的文件)。
BinaryReader reader = new BinaryReader(File.OpenRead(@"C:\test.csv"));
char lastChar = reader.ReadChar();
char newChar = new char();
int lineCount = 0;
do
{
newChar = reader.ReadChar();
if (lastChar == '\r' && newChar == '\n')
{
lineCount++;
}
lastChar = newChar;
} while( reader.PeekChar() != -1);