获取超出系统的文件大小.Int64范围(理论上可能)

本文关键字:理论上 范围 Int64 系统 文件大小 获取 | 更新日期: 2023-09-27 18:14:06

要找出文件的长度(以字节为单位),您通常会使用FileInfo.LengthSystem.IO.Stream.Length(有区别吗?)两者的类型都是long,即System。Int64,因此最大可能值是:

9 223 372 036 854 775 807

现在似乎有些文件系统,如NTFS5或微软的弹性文件系统(ReFS)理论上允许最大文件大小超过Int64范围-根据这个来源,ReFS限制最大文件大小为2^64-1字节,等于(为了可读性):

18 446 744 073 709 551 615

在这种情况下,如何确定文件大小——不管它是多么假设——它是否会影响正常的流操作(例如使用Read/Write方法等)?

获取超出系统的文件大小.Int64范围(理论上可能)

在这种情况下如何确定文件大小

. net框架没有内置的东西。当文件变大时,FileInfo.LengthSystem.IO.Stream.Length都会抛出异常。你将不得不退回到直接调用Windows API(如果Windows API目前支持)。