文件上传
- 断点续传的解决方案
- 流程
- 上传前先把文件分块
- 分块上传,中断后重新上传,已上传的分块则不用再上传
- 各分块上传完成后合并文件
- 文件分块的流程
- 获取源文件的长度
- 根据设定的分块文件大小计算出块数
- 从源文件读数据,依次向块文件写数据
/*
1.首先获取要分块的源文件对象
2.获得存放分块文件的路径字符串
3.定义分块的大小;例如1M=1*1024*1024
4.算出分块的块数;(源文件.length/分块的大小)
5.利用RandomAccessFile类进行分块读写操作(后附RandomAccessFile类的浅析)
*/
public void test() throws IOException {
//获取源文件对象
File sourceFile = new File("源文件绝对路径");
//获取分块路径
String chunkPath = "放块文件的路径";
//设置分块大小
long chunkSize = 1024*1024;
//计算分块数量
long chunkNum = (long) Math.ceil(sourceFile.length() * 1.0 / chunkSize);
//创建随机读取对象
RandomAccessFile rafRead =