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

时间:2018-10-06 12:44:03

标签: c# visual-studio filestream

所以在Visual Studio中,我有一个简单的fileStream看起来像这样:

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,我会收到一条错误消息,提示“磁盘上没有足够的空间”。所以我只是想知道这是对FileStream的限制,还是因为我正在写入文本文件?

为澄清起见,磁盘没有足够的空间,该磁盘有数百个演出。谢谢。

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

1 个答案:

答案 0 :(得分:1)

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

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