文件分割的代码

来源:互联网 发布:创业软件待遇如何 编辑:程序博客网 时间:2024/05/06 19:11

原理就是读取不同的字节段

然后分别存为文件

///<summary>切割文件类</summary>

public class cutfile{
        protected int CUT_SIZE;
        protected string source;
        protected string target;

        ///<summary>切割文件构造函数</summary>
        ///<param>source: 被切割文件;target:切割后文件目录</param>
        public cutfile(string arg1,string arg2,string arg3,string arg4){
            source =arg1;
            target = arg2;
        }

        ///<summary>切割主方法,切割文件序列存在indexFile中</summary>
        ///<param>indexFile:索引文件名;CUT_SIZE:切割大小</param>
        public void tocut(string indexFile,int CUT_SIZE){

            indexFile=target+indexFile;            
            StreamWriter file = new StreamWriter(indexFile,true);
            FileStream fs = new FileStream(source, FileMode.Open, FileAccess.Read);

            BinaryReader r = new BinaryReader(fs);
            int i=0;
            int t=1;
            int bb=(int)fs.Length;
            int filesize;
            string outputname;

            while(bb>0){
            if((bb-CUT_SIZE)>=0){
                filesize=CUT_SIZE;
            }
            else{
                filesize=bb;
            }
            byte[] mybyte=new byte[filesize];
            r.Read(mybyte,0,filesize);

            outputname=target+t.ToString();

            FileStream fo = new FileStream(outputname, FileMode.CreateNew);
            file.WriteLine(t.ToString());
            BinaryWriter w = new BinaryWriter(fo);
            w.Write(mybyte);
            i=i+CUT_SIZE;
            t++;
            bb=bb-CUT_SIZE;
            w.Close();
            }

            file.Close();
        }
}