| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
gd7g
10年前发布

C#实现一次分割多个文件

using System.IO;  using System.Windows.Forms;    OpenFileDialog dlg = new OpenFileDialog();  dlg.Filter ="All files (*.*)|*.*";  dlg.FilterIndex = 1;  dlg.RestoreDirectory = true;  dlg.Multiselect = true;  if (dlg.ShowDialog() == DialogResult.OK)  {      foreach (string filetosplit in dlg.FileNames)      {              string targetpath="D:";              FileStream fsr = new FileStream(filetosplit, FileMode.Open, FileAccess.Read);              long FileLength=fsr.Length;              byte[] btArr = new byte[FileLength];              fsr.Read(btArr, 0, (int)FileLength);              fsr.Close();              long PartLength=FileLength/3+FileLength%3;              int nCount=(int)Math.Ceiling((double)FileLength/PartLength);              string strFileName=Path.GetFileName(filetosplit);              long byteCount=0;              for(int i=1;i<=nCount;i++,byteCount=(i<nCount?byteCount+PartLength:FileLength-PartLength))              {                  FileStream fsw = new FileStream(targetpath + Path.DirectorySeparatorChar+ strFileName +i, FileMode.Create, FileAccess.Write);                  fsw.Write(btArr, (int)byteCount, (int)(i<nCount?PartLength:FileLength-byteCount));                  fsw.Flush();                  fsw.Close();              }              fsr.Close();      }  }