使用RandomAccessFile来来分割一个文件,每次分割读取的文件保存到文件,
然后再把这些分段文件拼接起来(合并流SequenceInputStream)。
采用面向对象的思想
import java.io.*;
import java.util.*;
/**
* 面向对象思想封装 分割文件
*/
public class SplitFile {
//源头
private File src;
//目的地(文件夹)
private String destDir;
//所有分割后的文件储存路径
private List<String> destPaths;
//每块大小
private int blockSize;
//块数:多少块
private int size;
public SplitFile(String srcPath,String destDir){
this(srcPath,destDir,1024);
}
public SplitFile(String srcPath,String destDir,int blockSize){
this.src = new File(srcPath);
this.destDir = destDir;
this.blockSize = blockSize;
this.destPaths = new ArrayList<String>();
//初始化
init();
}
public void init(){
//总长度
long len = this.src.length();
//快数:多少块
this.size = (int)Math.ceil(len*1.0 / blockSize);
//路径
for(int i = 0; i<size; i++){