c#文件分割与合并 part 2
来源:互联网 发布:简述什么是数据库系统 编辑:程序博客网 时间:2024/05/17 21:42
c#文件分割与合并 part 2
这是合并的部分,我们要让在上一篇文章中被分割的文件再合并起来,建立一个新的项目,相对于上一个项目,只是少了一个combox控件,因为我们要合并文件,所以不需要选择文件大小,设计图如下:
同样,引用system.IO,然后,给浏览按钮添加如下代码:
private void button1_Click(object sender, EventArgs e) { openFileDialog1.Title = "请选择要合并的第一个文件"; System.Windows.Forms.DialogResult drTemp = openFileDialog1.ShowDialog(); if (drTemp == DialogResult.OK && openFileDialog1.FileName != "") { textBox1.Text = openFileDialog1.FileName; } string[] path = openFileDialog1.FileName.Split(@"\".ToCharArray()); string sTemp = ""; int i = 0; for (i = 0; i < path.Length - 1; i++) { sTemp = sTemp + path[i] + @"\"; } button1.Enabled = true; sDirectoryName = sTemp; //获得文件所在目录 }
再给button2添加如下代码:
private void button2_Click(object sender, EventArgs e) { string[] arrFileNames = Directory.GetFiles(sDirectoryName); //获取存放分割后小文件所在目录所在的所有小文件 int iSumFile = arrFileNames.Length; progressBar1.Maximum = iSumFile; FileStream AddStream = new FileStream(textBox2.Text, FileMode.OpenOrCreate); //以合并后的文件名称和打开方式来创建、初始化FileStream文件流 BinaryWriter AddWriter = new BinaryWriter(AddStream); //以FileStream文件流来初始化BinaryWriter书写器,此用以合并分割的文件 /*循环合并小文件,并生成合并文件 */ for (int i = 0; i < iSumFile; i++) { FileStream TempStream = new FileStream(arrFileNames[i], FileMode.Open); //以小文件所对应的文件名称和打开模式来初始化FileStream文件流,起读取分割作用 BinaryReader TempReader = new BinaryReader(TempStream); //用FileStream文件流来初始化BinaryReader文件阅读器,也起读取分割文件作用 AddWriter.Write(TempReader.ReadBytes((int)TempStream.Length)); //读取分割文件中的数据,并生成合并后文件 TempReader.Close(); //关闭BinaryReader文件阅读器 TempStream.Close(); //关闭FileStream文件流 progressBar1.Value = i + 1; //显示合并进程 } AddWriter.Close(); //关闭BinaryWriter文件书写器 AddStream.Close(); //关闭FileStream文件流 MessageBox.Show("成功合并!"); progressBar1.Value = 0; }
编译后运行,我们找到刚才的文件,选择第一个0001.rar,然后进行合并,即可。
然后,可以在输出文件的目录下,看到my.rar了。
作者:Jack Fan(初学博闻 of .NET CF/.Net)
出处:http://longqi293.cnblogs.com
本博文欢迎大家浏览和转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,在『参考』的文章中,我会表明参考的文章来源,尊重他人版权。若您发现我侵犯了您的版权,请及时与我联系。
出处:http://longqi293.cnblogs.com
本博文欢迎大家浏览和转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,在『参考』的文章中,我会表明参考的文章来源,尊重他人版权。若您发现我侵犯了您的版权,请及时与我联系。
本篇博文 by Jack Fan is licensed under a Creative Commons 署名-非商业性使用-相同方式共享 2.5 中国大陆 License.
- c#文件分割与合并 part 2
- c#文件分割与合并 part 1 (转自互联网)
- 文件分割与合并(C# Winforms)
- C#文件的分割与合并
- 文件分割与合并
- 分割文件与合并文件
- 文件分割与合并程序
- 文件的合并与分割
- 文件分割与合并例子
- Linux文件分割与合并
- 文件的合并与分割
- 文件分割与合并工具
- 文件的分割与合并
- 文件的分割与合并
- 文件的分割与合并
- 文件的分割与合并
- Linux文件分割与合并
- 文件的分割与合并
- poj 3233 Matrix Power Series
- java消息摘要
- 六种姿势拿下连续子序列最大和问题,附伪代码(以HDU 1003 1231为例)
- Codeforces Bayan 2012-2013 Elimination Round / 241A Old Peykan (贪心)
- CWebBrowser2去除边框、滚动条、右键菜单
- c#文件分割与合并 part 2
- Hadoop内置作业调度器与调度平台的集成
- 纳格算法
- 通过访问注册表来获取已安装程序的名称
- Java中Collection和Collections的区别
- 购入Sony Fit 15'
- Teamcenter2007 开发环境搭建和技巧
- UVALive 2038 Strategic game (树形DP,4级)
- 闲来无事,塔建了一下android ndk和简单的编译并安装运行apk