C#文件分割的方法
本文实例讲述了C#文件分割的方法。分享给大家供大家参考。具体如下:
1.小文件分割(适用于小于等于64M的文件):
usingSystem;
usingSystem.IO;
stringfiletosplit=@"C:\temp\data.bin";
stringtargetpath=@"D:\store";
FileStreamfsr=newFileStream(filetosplit,FileMode.Open,FileAccess.Read);
longFileLength=fsr.Length;
byte[]btArr=newbyte[FileLength];
fsr.Read(btArr,0,(int)FileLength);
fsr.Close();
intsplitcount=3;
longPartLength=FileLength/splitcount+FileLength%splitcount;
intnCount=(int)Math.Ceiling((double)FileLength/PartLength);
stringstrFileName=Path.GetFileName(filetosplit);
longbyteCount=0;
for(inti=1;i<=nCount;i++,byteCount=(i<nCount?byteCount+PartLength:FileLength-PartLength))
{
FileStreamfsw=newFileStream(targetpath+Path.DirectorySeparatorChar+strFileName+i,FileMode.Create,FileAccess.Write);
fsw.Write(btArr,(int)byteCount,(int)(i<nCount?PartLength:FileLength-byteCount));
fsw.Flush();
fsw.Close();
}
2.大文件分割(适用于大于64M的文件)
usingSystem;
usingSystem.IO
stringfiletosplit=@"C:\temp\data.bin";
stringtargetpath=@"D:\store";
FileStreamfsr=newFileStream(filetosplit,FileMode.Open,FileAccess.Read);
longFileLength=fsr.Length;
byte[]btArr=newbyte[FileLength];
fsr.Read(btArr,0,(int)FileLength);
fsr.Close();
intsplitcount=3;
longPartLength=FileLength/splitcount+FileLength%splitcount;
intnCount=(int)Math.Ceiling((double)FileLength/PartLength);
stringstrFileName=Path.GetFileName(filetosplit);
longbyteCount=0;
for(inti=1;i<=nCount;i++,byteCount=(i<nCount?byteCount+PartLength:FileLength-PartLength))
{
FileStreamfsw=newFileStream(targetpath+Path.DirectorySeparatorChar+strFileName+i,FileMode.Create,FileAccess.Write);
longbc=byteCount;
longPartCount=i<nCount?PartLength:FileLength-bc;
intPartBufferCount=(int)(PartCount<int.MaxValue/32?PartCount:int.MaxValue/32);
intnc=(int)Math.Ceiling((double)PartCount/PartBufferCount);
for(intj=1;j<=nc;j++,bc=(j<nCount?bc+PartBufferCount:PartCount-PartBufferCount))
fsw.Write(btArr,(int)bc,(int)(j<nc?PartBufferCount:PartCount-bc));
fsw.Flush();
fsw.Close();
}
fsr.Close();
希望本文所述对大家的C#程序设计有所帮助。
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下