我有一块橡皮 2023-05-18 18:14 采纳率: 33.3%
浏览 20

C#写文件超过4G部分内容异常,如何解决?

C#向一个文件写入内容,当写入内容大于4G时,后面的数据内容是错误的

 private static void SaveFile(string savePath, string openPath)
        {
            using (var outputStream = File.Create(savePath))
            {
                for (int i = 0; i < 120; i++)
                {
                    using (var inputStream = File.OpenRead(openPath))
                    {
                        if (i != 0)
                            inputStream.Seek(3600, SeekOrigin.Begin);
                        inputStream.CopyTo(outputStream);
                    }
                }
            }
        }

程序说明:我的原始数据大约40M,复制120次是为了大于4G;跳过3600字节是为了跳过后面文件的文件头;文件存储如下图所示:

img

蓝色部分为文件头占3600字节,橙色为道头,占240字节,灰色为数据体,每个数据占4字节(一般为float格式,但这不重要)。
存储顺序为:第一步:文件头3600字节;第二步:第一道道头,240字节,第一道(第一列)数据;第三步:第二道,第三道……

  • 写回答

2条回答 默认 最新

  • wanghui0380 2023-05-18 19:10
    关注

    代码除了第一次从头写的,其他每次都是从3600处写值

    所以从i大于等于2后都是在覆盖前面写的内容

    评论

报告相同问题?

问题事件

  • 修改了问题 5月18日
  • 创建了问题 5月18日

悬赏问题

  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价
  • ¥15 在anaconda上pytorch和paddle paddle下载报错
  • ¥25 自动填写QQ腾讯文档收集表