扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:马金虎 来源:天极网 2007年11月13日
关键字:
图04:【合并程序】项目之【新建项目】对话框 |
组件类型 | 组件名称 | 属性 | 设置结果 |
Button | button1 | FlatStyle | Flat |
button1 | Text | 执行 | |
button2 | FlatStyle | Popup | |
button2 | Text | ... | |
Form | Form1 | Text | 合并程序 |
Form1 | MaximizeBox | False | |
Form1 | MinimizeBox | True | |
Form1 | FormBorderStyle | FormBorderStyle.FixedSingle | |
Label | label1 | Text | 请选择大小: |
label2 | Text | 选择文件: | |
TextBox | TextBox1 | Text | |
TextBox2 | Text |
图05:【合并程序】项目的设计后的界面 |
using System ; using System.Drawing ; using System.Collections ; using System.ComponentModel ; using System.Windows.Forms ; using System.Data ; using System.IO ; using System.Text ; using System.Data.OleDb ; |
public string sDirectoryName = "" ; //定义一个全局变量,用以存放合并文件所在的目录 |
private void button2_Click ( object sender , System.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 ; //获得文件所在目录 } |
private void button1_Click ( object sender , System.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 ; } |
图06:【合并程序】项目的运行界面 |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者