• 大小: 86KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-05-08
  • 语言: 其他
  • 标签:

资源简介

该源码可实现将大文进分割成小文件,将分割的小文件再合并成大文件,可用于文件传输

资源截图

代码片段和文件信息

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个文件信息

评论

共有 条评论