要找出文件的长度(以字节为单位),您通常会使用FileInfo.Length
或System.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方法等)?
在这种情况下如何确定文件大小
. net框架没有内置的东西。当文件变大时,FileInfo.Length
和System.IO.Stream.Length
都会抛出异常。你将不得不退回到直接调用Windows API(如果Windows API目前支持)。