C#實現一次分割多個文件

gd7g 9年前發布 | 4K 次閱讀 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(); } }</pre>

 本文由用戶 gd7g 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!