思路
以每块多大的分量去切割成多少块。
比方说 1024 的 文件以 500 切,切成 3 块,就是 500、500、24 的三块。最后一块可能装不满 500,那就得取实际数量了,也就是 24 。
3 块文件的起始点就是:
- 第一块:0,500
- 第二块:500,1000
- 第三块:1000,1024
实现要点
- 进行读写,读得时候可以使用 RandomAccessFile 的 seek 方法设置开始读取的地方,然后结束的地方再使用输入的结束点进行判断,从而进行分割。
- 文件合并,因为 初始化文件的时候就确定了切块后的每块的文件名,只需要将其全部读取出来然后写,记得这里的 new FileOutputStream( file, true ) 构造方法应该这样写,因为是合并文件,所以这里得 是追加。
实现
1 | public class SplitFileDemo { |