C# 一个CSV文件可以包含多少行?
CSV文件可以包含的最大行数是多少 我想知道一个具体的数字,因为我的要求是允许最大数量的条目。C# 一个CSV文件可以包含多少行?,c#,C#,CSV文件可以包含的最大行数是多少 我想知道一个具体的数字,因为我的要求是允许最大数量的条目。 此数字取决于操作系统,还是大小固定?CSV是文本格式。文件大小、列数或行数没有正式限制。最正式的规范是你是否想要一些“正式”的声明 读取文件的文件系统和程序可以施加自己的限制。也就是说,许多快速编写的工具无法正确处理大于2Gb的文件(整数大小限制),许多首先将内容读取到内存的工具将达到内存限制。添加到@Alexei answer中,我想指定您可以使用它来查找总行数(对于大于2Gb的文件) 除非最后一行
此数字取决于操作系统,还是大小固定?CSV是文本格式。文件大小、列数或行数没有正式限制。最正式的规范是你是否想要一些“正式”的声明
读取文件的文件系统和程序可以施加自己的限制。也就是说,许多快速编写的工具无法正确处理大于2Gb的文件(整数大小限制),许多首先将内容读取到内存的工具将达到内存限制。添加到@Alexei answer中,我想指定您可以使用它来查找总行数(对于大于2Gb的文件)
除非最后一行末尾没有\r或\n,否则此操作非常有效。我添加了一个charCount变量,如果if子句为false,我会增加该变量。如果有新行,我将此计数重置为零。然后在Do之后的最后,我检查charCount的值。如果大于0,则存在另一个结尾没有\r的行,我会增加行数
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);