国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#文件分割的方法

2020-01-24 01:38:44
字體:
來源:轉載
供稿:網友

本文實例講述了C#文件分割的方法。分享給大家供大家參考。具體如下:

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

using System;using System.IO;string filetosplit=@"C:/temp/data.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.IOstring filetosplit=@"C:/temp/data.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#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 富阳市| 武强县| 鄂托克前旗| 陆河县| 红河县| 荃湾区| 拜泉县| 上蔡县| 浙江省| 太谷县| 新津县| 德格县| 左云县| 景泰县| 田林县| 淳化县| 施秉县| 宕昌县| 新乐市| 井陉县| 古丈县| 潢川县| 通辽市| 改则县| 武宁县| 噶尔县| 抚宁县| 龙井市| 达孜县| 扎赉特旗| 曲松县| 楚雄市| 沙田区| 舞钢市| 绵阳市| 宿州市| 横山县| 固阳县| 洞口县| 普兰县| 思茅市|