只要能分割就好~~~~谁给贴个示例 谢谢了……

解决方案 »

  1.   

    我也正有个问题需要将文件分割后刻在700mb的光盘上呢,
    但是没想到去自己动手做,我的文件是780mb的bin文件
    不知道能不能把它放入byte[]类型然后从中间给切两半
      

  2.   

    C# 文件切分和组合源码
    http://download.csdn.net/source/2838253
    可以对任意类型的文件进行分割合并,用的多线程,进度条显示分割进度,速度快,优化处理过 
      

  3.   

      public class FilePartition
        {
            //字节长度
            private static int bufflength = GetNetMappingAppConfig.VideoFileLength * 1048576;
            //字节数组
            private byte[] buff = new byte[bufflength];
            private VideoFileInfo entity;        //构造函数初始化
            public FilePartition(VideoFileInfo entity)
            {
                this.entity = entity;
            }
            //文件分割方法
            public void Partition()
            {
                try
                {
                    //获取文件信息
                    FileInfo fi = new FileInfo(entity.FilePath + entity.FileName);
                    //打开文件流
                    FileStream fs = new FileStream(entity.FilePath + entity.FileName, FileMode.Open);
                    //设置文件流起始位置为0字节
                    fs.Position = 0;
                    //取要分割的文件整数
                    int FileNum = Convert.ToInt32(fi.Length) / bufflength;
                    //取药分割的文件余数
                    int FileResidue = Convert.ToInt32(fi.Length) % bufflength;
                    if (FileResidue != 0)
                    {
                        FileNum++;
                    }
                    //
                    //读取文件流分割
                    //
                    if (FileNum > 1)
                    {
                        for (int i = 0; i < FileNum; i++)
                        {
                            //获取读取流当前位置
                            fs.Position = i * bufflength;
                            //读取
                            fs.Read(buff, 0, buff.Length);
                            //写入文件头
                            VideoFunction.Instance.createFile(entity.FilePath, i + ".264", VideoFunction.FileHeader);
                            //追加文件流
                            FileStream Wfs = new FileStream(entity.FilePath + i + ".264", FileMode.Append);
                            if (fs.Length >= (i + 1) * bufflength)
                            {
                                Wfs.Write(buff, 0, buff.Length);
                            }
                            else
                            {
                                long lastlength = fs.Length - i * bufflength;
                                Wfs.Write(buff, 0, Convert.ToInt32(lastlength));
                            }
                            Wfs.Close();//关闭写入流
                            VideoFunction.Instance.endFile(entity.FilePath, i + ".264");//写入文件尾
                        }
                        fs.Close();//关闭源文件读取
                    }
                    else
                    { 
                        File.Move(entity.FilePath+entity.FileName,"0.264");//重命名
                    }
                    //删除源文件
                    File.Delete(entity.FilePath + entity.FileName);
                   
                }
                catch (Exception e)
                {
                   string Error= e.Message.ToString();
                }
            }
        }发个自己的吧= =…… 我构造函数里德形参不用管它 是我的程序用到的……谢谢5楼了