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字节,第一道(第一列)数据;第三步:第二道,第三道……

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

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