原理就是读取不同的字节段
然后分别存为文件
///<summary>切割文件类</summary>
public class cutfile{
protected int CUT_SIZE;
protected string source;
protected string target;
///<summary>切割文件构造函数</summary>
///<param>source: 被切割文件;target:切割后文件目录</param>
public cutfile(string arg1,string arg2,string arg3,string arg4){
source =arg1;
target = arg2;
}
///<summary>切割主方法,切割文件序列存在indexFile中</summary>
///<param>indexFile:索引文件名;CUT_SIZE:切割大小</param>
public void tocut(string indexFile,int CUT_SIZE){
indexFile=target+indexFile;
StreamWriter file = new StreamWriter(indexFile,true);
FileStream fs = new FileStream(source, FileMode.Open, FileAccess.Read);
BinaryReader r = new BinaryReader(fs);
int i=0;
int t=1;
int bb=(int)fs.Length;
int filesize;
string outputname;
while(bb>0){
if((bb-CUT_SIZE)>=0){
filesize=CUT_SIZE;
}
else{
filesize=bb;
}
byte[] mybyte=new byte[filesize];
r.Read(mybyte,0,filesize);
outputname=target+t.ToString();
FileStream fo = new FileStream(outputname, FileMode.CreateNew);
file.WriteLine(t.ToString());
BinaryWriter w = new BinaryWriter(fo);
w.Write(mybyte);
i=i+CUT_SIZE;
t++;
bb=bb-CUT_SIZE;
w.Close();
}
file.Close();
}
}