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); // 将第二个文件内容复制到输出文件
}
} }
C# 文件分割和文件合并的更多相关文章
- Linux大文件分割split和合并cat使用方法
本文主要介绍linux下两个命令:split和cat.其中,相信大家都熟悉cat命令,一般用来查看一个文件的内容,但是它还其它的功能,比如这里要介绍的文件合并功能,它可把多个文件内容合并到一个文件中. ...
- Linux中split大文件分割和cat合并文件
当需要将较大的数据上传到服务器,或从服务器下载较大的日志文件时,往往会因为网络或其它原因而导致传输中断而不得不重新传输.这种情况下,可以先将大文件分割成小文件后分批传输,传完后再合并文件. 1.分割 ...
- PHP大文件存储示例,各种文件分割和合并(二进制分割与合并)
最近要对视频进行上传,由于涉及到的视频非常的大,因此采用的是分片上传的格式,下面是一个简单的例子: split.php <?php $i = 0; //分割的块编号 $fp = fopen(&q ...
- java:快速文件分割及合并
文件分割与合并是一个常见需求,比如:上传大文件时,可以先分割成小块,传到服务器后,再进行合并.很多高大上的分布式文件系统(比如:google的GFS.taobao的TFS)里,也是按block为单位, ...
- (转)java:快速文件分割及合并
文件分割与合并是一个常见需求,比如:上传大文件时,可以先分割成小块,传到服务器后,再进行合并.很多高大上的分布式文件系统(比如:google的GFS.taobao的TFS)里,也是按block为单位, ...
- JAVA IO分析三:IO总结&文件分割与合并实例
时间飞逝,马上就要到2018年了,今天我们将要学习的是IO流学习的最后一节,即总结回顾前面所学,并学习一个案例用于前面所学的实际操作,下面我们就开始本节的学习: 一.原理与概念 一.概念流:流动 .流 ...
- c语言文件分割与合并
一.综述 c语言操作文件通过文件指针FILE*,每个要操作的文件必须打开然后才能读写. 注意事项: @1分割与合并文件最好使用二进制模式即"rb"或"wb",这 ...
- Wireshark 文件分割和合并
# 捕获文件的基本信息. capinfos <filename> 从结果中可以看到 http.pcapng 捕获文件的基本信息,包括文件类型.封装.包大小限制.包数.文件大小及时间等. # ...
- Java-使用IO流对大文件进行分割和分割后的合并
有的时候我们想要操作的文件很大,比如:我们想要上传一个大文件,但是收到上传文件大小的限制,无法上传,这是我们可以将一个大的文件分割成若干个小文件进行操作,然后再把小文件还原成源文件.分割后的每个小文件 ...
- python学习——大文件分割与合并
在平常的生活中,我们会遇到下面这样的情况: 你下载了一个比较大型的游戏(假设有10G),现在想跟你的同学一起玩,你需要把这个游戏拷贝给他. 然后现在有一个问题是文件太大(我们不考虑你有移动硬盘什么的情 ...
随机推荐
- IntelliJ IDEA 设置背景图片 随机快捷更换背景图片(附高清4K背景图N张)
前言 开发过程枯燥乏味,何不为自己工作中添加点乐子呢,除了主题模板,我们可以设置IntelliJ IDEA 的背景图片,换个背景图,换个心情. IntelliJ IDEA 设置背景图片 注意: 必要的 ...
- Python函数指定参数、返回值类型
def fun(arg1: str, arg2: int ...) -> str: def as_view(name: str, *class_args: int, **class_kwargs ...
- .NET Core 泛型底层原理浅谈
简介 泛型参考资料烂大街,基本资料不再赘述,比如泛型接口/委托/方法的使用,逆变与协变. 泛型好处有如下几点 代码重用 算法重用,只需要预先定义好算法,排序,搜索,交换,比较等.任何类型都可以用同一套 ...
- 计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session
文章目录 一.HTTP协议的特点 1.1 特点 1.2 HTTP是不保存状态的协议,如何保存用户状态? 二.浏览器中输入URL返回页面过程(重) 三.HTTP状态码 四.HTTP相关协议对比 4.1 ...
- chapter4 quantum circuits
本章内容为 P172--P215: 主机 word 文件为: chapter4.docx 详情见文件 chapter4.1_singlequbit.cdf 或主机同名文件 4.7 Simulatio ...
- 血泪史: k8s Initial timeout of 40s passed.
背景: k8s不管是 kubeadm init 和join都会报错 kubelet-start] Writing kubelet configuration to file "/var/li ...
- 基于Java+SpringBoot+Mysql实现的快递柜寄取快递系统功能实现四
一.前言介绍: 1.1 项目摘要 随着电子商务的迅猛发展和城市化进程的加快,快递业务量呈现出爆炸式增长的趋势.传统的快递寄取方式,如人工配送和定点领取,已经无法满足现代社会的快速.便捷需求.这些问题不 ...
- 从PipedInputStream/PipedOutputStream谈起
本篇主要从分析PipeInputStrem和PipedOutputStream谈起.谈及软件设计的变化,以及如何将软件拆分.组合,适配-- 1 源代码分析 下面将详细分析PipedInputStrea ...
- IT人写好简历的原则与方法
来源: 51cto 发布时间: 2010-03-19 14:49 阅读: 3270 次 推荐: 3 原文链接 [收藏] 时常,在各大论坛看到不少的朋友在张贴简历,希望得到他人的指点. ...
- 使用SwingWorker异步加载JTree
SwingWorker是Java SE 6.0新加入的一个工具包,利用它可以使长时间运行并更新用户界面的任务大大简化.本文以一个异步加载JTree的demo演示了SwingWorker的基本功能. 环 ...