c# - c# Filestream 不能处理大的二进制文件
问题描述
文件大小超过 6GB,但是 ReadFileSteam_ORI2 的位置超过 3,960,000,000 test4 缓冲区被零填充。(真正的文件数据不是零。)我认为可能读取过程在内部失败。为什么会出现这个问题?在 3,960,000,000 位置下,没有错误,所有过程都运行良好。
long now_pos2 = 0;
FileStream ReadFileStream_ORI2 = new FileStream(
d_ori.FileName,
FileMode.Open,
FileAccess.Read,
FileShare.Read
);
byte[] test4 = new byte[10000000];
for (int i = 0; i < 400; i++)
{
if (i==396) {; }
ReadFileStream_ORI2.Seek(now_pos2, SeekOrigin.Begin);
ReadFileStream_ORI2.Read(test4, 0, 10000000);
now_pos2 += 10000000;
}
解决方案
推荐阅读
- python - Django 应用程序在迁移到 heroku MySQL ClearDB 时抛出 MigrationSchemaMissing
- python - 杀死一个进程,等待一段随机时间然后再次启动该进程?
- python - 解析具有已知格式的日期字符串的最快方法
- cassandra - 在 Cassandra 中管理多对多关系
- python-3.x - setup.py 如何不保留多个版本的包
- java - 不同区域的日期/时间问题
- python - 比例单样本检验
- javascript - 从 URL 获取 JSON 数据 react- 格式化问题
- javascript - TamperMonkey:在没有 ID 的内容之后添加元素
- java - 我们可以在java中创建没有线程的死锁吗?