首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ByteArray OutOfMemory异常

ByteArray OutOfMemory异常
EN

Stack Overflow用户
提问于 2015-12-15 14:07:24
回答 1查看 104关注 0票数 0
代码语言:javascript
复制
using (FileStream stream = File.OpenRead(filePath))
{
   var data = new byte[stream.Length];
   stream.Read(data, 0, data.Length);
}

我在该行中抛出了一个OutOfMemoryException (不是在流读取期间,而是在字节初始化期间):

代码语言:javascript
复制
data = new byte[stream.Length];

编辑15-12-2015

文件大小约为600 2GB,但可能高达2GB。

代码的较短版本也失败了:

代码语言:javascript
复制
var data = File.ReadAllBytes(filePath);
EN

回答 1

Stack Overflow用户

发布于 2015-12-15 14:15:03

您的文件大小是否可能超过2 GB,并且正在使用32位系统?看起来您已经超出了限制,没有一个对象可以大于2GB(至少在32位系统的情况下)。考虑将数据流改为流。但是使用.NET Framework4.5,您可以使用<gcAllowVeryLargeObjects>元素,它支持您使用大于2GB的对象。

这是您必须使用的配置;

代码语言:javascript
复制
<configuration>
  <runtime>
    <gcAllowVeryLargeObjects enabled="true" />
  </runtime>
</configuration>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34291309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档