/**
*
* @param commFile 需要分割的文件
* @param untieFile 分割后保存的文件
* @param filesize 分割多少个
*/
public void fenGe(File commFile,File untieFile,int filesize){
FileInputStream fis=null;
//用来指定分割文件以MB为单位
int size =1024*1024;
try {
//如果保存分割文件地址不是路径
if(untieFile.isDirectory()){
//创建该路径
untieFile.mkdirs();
}
size=size*filesize;
//获取文件大小
int length=(int)commFile.length();
//获取文件大小除以MB的得数
int num=length/size;
//获取文件大小与MB相除的余数
int yu=length % size;
//获取保存文件的完成路径信息
String newfengeFile=commFile.getAbsolutePath();
int fileNew =newfengeFile.lastIndexOf(".");
//截取字符串
String strNew= newfengeFile.substring(fileNew,newfengeFile.length());
//创建FileInputStream类对象
fis=new FileInputStream(commFile);
//创建文件数组
File[] fl=new File[num+1];
int begin=0;
//循环遍历数组
for(int i=0;i<num;i++){
//指定分割后小文件的文件名
fl[i]=new File(untieFile.getAbsolutePath()+"\"+(i+1)+strNew+".tem");
if(!fl[i].isFile()){
//创建该文件
fl[i].createNewFile();
}
FileOutputStream fos=new FileOutputStream(fl[i]);
byte[] bl=new byte[size];
//读取分割后的小文件
fis.read(bl);
//写文件
fos.write(bl);
begin=begin+size*1024*1024;
//关闭流
fos.close();
}
//文件大小与指定文件分割大小相除的余数不为0;
if(yu !=0){
//指定文件分割后数组中最后一个文件名
fl[num]=new File(untieFile.getAbsolutePath()+"\"+(num+1)+strNew+".tem");
if(!fl[num].isFile()){
//新建文件
fl[num].createNewFile();
}
FileOutputStream fyu=new FileOutputStream(fl[num]);
byte[] byt=new byte[yu];
fis.read(byt);
fyu.write(byt);
fyu.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 合并文件
* @param file 需要合并的文件
* @param cunDir 合并后的文件
* @param hz
*/
public void heBing(File[] file,File cunDir, String hz){
try {
//指定分割后文件的文件名
File heBingFile=new File(cunDir.getAbsoluteFile()+"\UNTIE"+hz);
if(!heBingFile.isFile()){
heBingFile.createNewFile();
}
//创建FileOutputStream对象
FileOutputStream fos=new FileOutputStream(heBingFile);
//循环遍历要进行合并的文件数组对象
for(int i=0;i<file.length;i++){
FileInputStream fis=new FileInputStream(file[i]);
//获取文件长度
int len=(int)file[i].length();
byte[]bRead=new byte[len];
//读取文件
fis.read(bRead);
//写入文件
fos.write(bRead);
//将流关闭
fis.close();
}
fos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}/**
*
* @param commFile 需要分割的文件
* @param