ファイルの長さ (バイト単位) を調べるには、通常FileInfo.Length
or System.IO.Stream.Length
(違いはありますか?) を使用します。どちらも long 型、つまり System.Int64 であるため、可能な最大値は次のとおりです。
9 223 372 036 854 775 807
現在、NTFS5 や Microsoft の Resilient File System (ReFS) などの一部のファイル システムでは、理論的には Int64 の範囲を超える最大ファイル サイズが許可されているようです。このソースによると、ReFS は最大ファイル サイズを 2^64-1 バイトに制限しています。 (読みやすくするため):
18 446 744 073 709 551 615
このような場合、どのようにファイル サイズを決定するのでしょうか (それは仮定の話かもしれませんが)。また、通常の Stream 操作 (読み取り/書き込みメソッドの使用など) に影響を与えますか?