手机
当前位置:查字典教程网 >编程开发 >C#教程 >C#文件分割的方法
C#文件分割的方法
摘要:本文实例讲述了C#文件分割的方法。分享给大家供大家参考。具体如下:1.小文件分割(适用于小于等于64M的文件):usingSystem;us...

本文实例讲述了C#文件分割的方法。分享给大家供大家参考。具体如下:

1. 小文件分割(适用于小于等于64M的文件):

using System; using System.IO; string filetosplit=@"C:tempdata.bin"; string targetpath=@"D:store"; 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(); int splitcount=3; long PartLength=FileLength/splitcount+FileLength%splitcount; 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(); }

2. 大文件分割(适用于大于64M的文件)

using System; using System.IO string filetosplit=@"C:tempdata.bin"; string targetpath=@"D:store"; 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(); int splitcount=3; long PartLength=FileLength/splitcount+FileLength%splitcount; 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); long bc=byteCount; long PartCount=i<nCount?PartLength:FileLength-bc; int PartBufferCount=(int)(PartCount<int.MaxValue/32?PartCount:int.MaxValue/32); int nc=(int)Math.Ceiling((double)PartCount/PartBufferCount); for(int j=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#程序设计有所帮助。

【C#文件分割的方法】相关文章:

C#中执行批处理文件(*.bat)的方法代码

C#导出生成excel文件的方法小结(xml,html方式)

c#根据文件类型获取相关类型图标的方法代码

深入C# 内存管理以及优化的方法详解

使用C#开发Socket通讯的方法

C#中动态显示当前系统时间的实例方法

C# 将字节流转换为图片的实例方法

C#中使用split分割字符串的几种方法小结

C# 改变无边框窗体尺寸大小的方法

c#生成缩略图的实现方法

精品推荐
分类导航