.net Framework中可以读取的文件的最大大小是什么?
这是长(Int64)max,因为它是所有读者中Seek方法中偏移的类型?
答案 0 :(得分:8)
我认为答案是语言规范的“未定义”。
搜索偏移量基于原点,因此您可以查找长度最大的文件。你只是无法从文件开始寻求。此外,文件对象不必支持寻求读取。 FileStream.Seek Documentation
中有更多信息也许其他人知道的更好,但我不相信定义了最大文件大小。您将受到从文件系统读取的数据的限制(例如,内存不足以存储它等)
答案 1 :(得分:4)
它仅受文件系统的约束。 Seek()不是必需的函数,C / C ++程序员长时间处理它们的fseek()的2 GB限制。大量文件访问是顺序的。然而,.NET版本可以顺利运行一段时间,但是,当前的Windows文件系统(NTFS版本6)将文件大小限制为17,592,185,978,880字节,远远超过2 ^ 63 - 1。
答案 2 :(得分:1)
这是我的猜测,但还有其他限制,例如文件系统强加的文件大小。在NTFS上它是2TB,但在FAT32上它是4GB减去2字节,例如。
答案 3 :(得分:1)
理论上的最大值(不考虑文件系统限制)是Int64.MaxValue
,正如您所猜测的那样。我不确定如果您读取的文件超过该文件会发生什么,但似乎不太可能;)