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();
}
}
로그인 후 복사