C# 文件分割和文件合并

C# 文件分割和文件合并

复制代码
        void SplitFile()
        {

            string sourceFile = "Old.mp4"; // 源文件路径
            string outputFile1 = "part1.bin"; // 第一个输出文件路径(10KB)
            string outputFile2 = "part2.bin"; // 第二个输出文件路径(剩余部分)

            int firstFileSize = 10 * 1024; // 第一个文件大小为 10KB(10 * 1024 字节)

            // 打开源文件
            using (FileStream sourceStream = File.OpenRead(sourceFile))
            {
                // 创建第一个输出文件
                using (FileStream outputStream1 = File.Create(outputFile1))
                {
                    // 读取并写入第一个文件的 10KB 数据
                    byte[] buffer = new byte[firstFileSize];
                    int bytesRead = sourceStream.Read(buffer, 0, buffer.Length);
                    outputStream1.Write(buffer, 0, bytesRead);
                }

                // 创建第二个输出文件
                using (FileStream outputStream2 = File.Create(outputFile2))
                {
                    // 读取并写入剩余的数据
                    byte[] buffer = new byte[1024]; // 1KB 缓冲区
                    int bytesRead;
                    while ((bytesRead = sourceStream.Read(buffer, 0, buffer.Length)) > 0)
                    {
                        outputStream2.Write(buffer, 0, bytesRead);
                    }
                }
            }


        }

        void MergeFile()
        {

            string file1 = "part1.bin"; // 第一个二进制文件路径
            string file2 = "part2.bin"; // 第二个二进制文件路径
            string outputFile = "Merged.mp4"; // 合并后的文件路径

            // 打开输出文件流
            using (FileStream outputStream = File.Create(outputFile))
            {
                // 读取并写入第一个文件
                using (FileStream inputStream = File.OpenRead(file1))
                {
                    inputStream.CopyTo(outputStream); // 将第一个文件内容复制到输出文件
                }

                // 读取并写入第二个文件
                using (FileStream inputStream = File.OpenRead(file2))
                {
                    inputStream.CopyTo(outputStream); // 将第二个文件内容复制到输出文件
                }
            }

        }

  

相关推荐
WarPigs15 小时前
C# dll笔记
c#
淡笑沐白15 小时前
C# HttpClient完整使用指南
c#·httpclient
JaydenAI15 小时前
[MAF预定义的AIContextProvider-02]AgentSkillsProvider——将Agent Skills引入MAF
ai·c#·agent·agent skills·maf
小满Autumn15 小时前
MVVM Light 架构笔记:定位器、命令、消息与 IoC 实践
笔记·学习·架构·c#·上位机·mvvm
小满Autumn17 小时前
CommunityToolkit.Mvvm 架构笔记:现代 MVVM、源生成器与工程化实践
笔记·架构·c#·.net·wpf·mvvm
加号318 小时前
【C#】 JSON 序列化与反序列化:从入门到最佳实践
c#·json
胖纸不争21 小时前
自建 Copilot Cli 代理:让 GitHub Copilot 真正"Bring Your Own Key"
ai·c#
FuckPatience1 天前
C# new List<T>(IEnumerable<T> collection),链表初始化时传入已存在链表
链表·c#·list
专注VB编程开发20年1 天前
工控上位机开发为什么固死.net 4.5.2sdk?适配win7
python·信息可视化·c#
狂人开飞机1 天前
18. 中介者模式(Mediator Pattern)
设计模式·c#·中介者模式