资源简介
该源码可实现将大文进分割成小文件,将分割的小文件再合并成大文件,可用于文件传输
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace 文件分割
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender EventArgs e)
{
openFileDialog1.title = “请选择要分割的文件名称“;
DialogResult drTemp = openFileDialog1.ShowDialog();
if (drTemp == DialogResult.OK && openFileDialog1.FileName != string.Empty)
{
textBox1.Text = openFileDialog1.FileName;
button2.Enabled = true;
}
}
private void button2_Click(object sender EventArgs e)
{
int iFileSize = Int32.Parse(comboBox1.Text) * 1024; //根据选择来设定分割的小文件的大小
//if (Directory.Exists(textBox2.Text))
// Directory.Delete(textBox2.Text true); //如果计算机存在存放分割文件的目录,则全部删除此目录所有文件
//else
Directory.CreateDirectory(textBox2.Text); //反之则在计算机创建目录
FileStream SplitFileStream=new FileStream ( textBox1.Text FileMode.Open );//以文件的全路对应的字符串和文件打开模式来初始化FileStream文件流实例
BinaryReader SplitFileReader=new BinaryReader ( SplitFileStream ) ;//以FileStream文件流来初始化BinaryReader文件阅读器
byte [ ] TempBytes;//每次分割读取的最大数据
int iFileCount = ( int ) ( SplitFileStream.Length / iFileSize ) ; //小文件总数
progressBar1.Maximum = iFileCount ;
if ( SplitFileStream.Length % iFileSize != 0 ) iFileCount++ ;
string [ ] TempExtra = textBox1.Text.Split ( ‘.‘ ) ;/* 循环将大文件分割成多个小文件 */
for ( int i = 1 ; i <= iFileCount ; i++ )
{
string sTempFileName = textBox2.Text + @“\“+i.ToString ( ) .PadLeft ( 4 ‘0‘ ) + “.“ + TempExtra[ TempExtra.Length - 1 ] ; //小文件名
//确定小文件的文件名称
FileStream TempStream = new FileStream(sTempFileName FileMode.OpenOrCreate);//根据文件名称和文件打开模式来初始化FileStream文件流实例
BinaryWriter TempWriter = new BinaryWriter ( TempStream ) ; //以FileStream实例来创建、初始化BinaryWriter书写器实例
TempBytes = SplitFileReader.ReadBytes ( iFileSize ) ;//从大文件中读取指定大小数据
TempWriter.Write ( TempBytes ) ; //把此数据写入小文件
TempWriter.Close ( ) ; //关闭书写器,形成小文件
TempStream.Close ( ) ; //关闭文件流
progressBar1.Value = i - 1 ;
}
SplitFileReader.Close ( ) ; //关闭大文件阅读器
SplitFileStream.Close ( ) ;
MessageBox.Show ( “分割成功!“ ) ;
progressBar1.Value = 0 ;
}
private void button3_Click(object sender EventArgs e)
{
DialogResult drtemp = folderBro
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 11264 2009-12-07 16:11 文件分割\文件分割\bin\Debug\文件分割.exe
文件 26112 2009-12-07 16:11 文件分割\文件分割\bin\Debug\文件分割.pdb
文件 14328 2009-12-07 16:40 文件分割\文件分割\bin\Debug\文件分割.vshost.exe
文件 490 2007-07-21 01:33 文件分割\文件分割\bin\Debug\文件分割.vshost.exe.manifest
文件 3856 2009-12-07 16:40 文件分割\文件分割\Form1.cs
文件 7465 2009-12-07 16:10 文件分割\文件分割\Form1.Designer.cs
文件 6226 2009-12-07 16:10 文件分割\文件分割\Form1.resx
文件 647 2009-12-07 16:40 文件分割\文件分割\obj\Debug\文件分割.csproj.FileListAbsolute.txt
文件 847 2009-12-07 16:10 文件分割\文件分割\obj\Debug\文件分割.csproj.GenerateResource.Cache
文件 11264 2009-12-07 16:11 文件分割\文件分割\obj\Debug\文件分割.exe
文件 180 2009-12-07 16:10 文件分割\文件分割\obj\Debug\文件分割.Form1.resources
文件 26112 2009-12-07 16:11 文件分割\文件分割\obj\Debug\文件分割.pdb
文件 180 2009-12-07 15:49 文件分割\文件分割\obj\Debug\文件分割.Properties.Resources.resources
文件 493 2009-12-07 15:13 文件分割\文件分割\Program.cs
文件 1376 2009-12-07 15:13 文件分割\文件分割\Properties\AssemblyInfo.cs
文件 2874 2009-12-07 15:13 文件分割\文件分割\Properties\Resources.Designer.cs
文件 5612 2009-12-07 15:13 文件分割\文件分割\Properties\Resources.resx
文件 1097 2009-12-07 15:13 文件分割\文件分割\Properties\Settings.Designer.cs
文件 249 2009-12-07 15:13 文件分割\文件分割\Properties\Settings.settings
文件 3770 2009-12-07 15:49 文件分割\文件分割\文件分割.csproj
文件 926 2009-12-07 15:13 文件分割\文件分割.sln
..A..H. 36352 2009-12-07 16:42 文件分割\文件分割.suo
文件 10752 2009-12-07 16:17 文件合并\文件合并\bin\Debug\文件合并.exe
文件 26112 2009-12-07 16:17 文件合并\文件合并\bin\Debug\文件合并.pdb
文件 14328 2009-12-07 16:39 文件合并\文件合并\bin\Debug\文件合并.vshost.exe
文件 490 2007-07-21 01:33 文件合并\文件合并\bin\Debug\文件合并.vshost.exe.manifest
文件 3596 2009-12-07 16:17 文件合并\文件合并\Form1.cs
文件 6240 2009-12-07 16:15 文件合并\文件合并\Form1.Designer.cs
文件 6221 2009-12-07 16:15 文件合并\文件合并\Form1.resx
文件 647 2009-12-07 16:39 文件合并\文件合并\obj\Debug\文件合并.csproj.FileListAbsolute.txt
............此处省略33个文件信息
- 上一篇:并行Dijkstra最短路径算法
- 下一篇:Labwindows摄像头
评论
共有 条评论