C# 中的 FileStream 是否有它可以使用的最大文件大小?

Does FileStream in C# have a maximum File size it can use?

所以在 visual studio 我有一个简单的文件流,看起来像这样:

using (FileStream stream = new FileStream(Filename,FileMode.Append,FileAccess.Write))           
{                    
    long fourgigs = 1073741824L * 4;

    for (int y = 0; y < fourgigs; y++)
    {
       byte[] b = { 1 };

       stream.Write(b, 0, b.Length);
    }
}

我将其限制为将 4 GB 写入文件,因为一旦文件超过 4 GB,我就会收到一条错误消息 "Not enough space on disk"。所以我只是想知道这是对 FileStream 的限制还是因为我正在写入文本文件?

为了澄清磁盘没有用完 space,磁盘有几百个演出。感谢对此事的任何帮助,谢谢。

edit:所以我做了一些实验,最初我试图写入 USB 驱动器,但我决定写入我的普通硬盘。有趣的是,我的普通硬盘驱动器可以写入超过 4 GB 的数据,而 USB 则不会。我仍然不确定这是为什么。有谁知道这是为什么?

您注意到这适用于您的本地磁盘,但不适用于 USB 驱动器。

最有可能的原因是您的 USB 驱动器被格式化为 FAT32 或类似格式。此文件系统无法处理大于 4GB 的文件