資源簡介
該源碼可實現將大文進分割成小文件,將分割的小文件再合并成大文件,可用于文件傳輸

代碼片段和文件信息
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攝像頭
評論
共有 條評論