java对文件分片处理


前言

文件分割与合并是一个常见需求,比如:上传大文件时,可以先分割成小块,传到服务器后,再进行合并。

1、文件切割

//预分配文件占用磁盘空间“r”表示只读的方式“rw”支持文件随机读取和写入RandomAccessFile raf = new RandomAccessFile(new File(file), "r");//文件长度long length = raf.length();//计算切片后,每一文件的大小long maxSize = length / count;//定义初始文件偏移量(读取文件进度)long offset = 0L;//开始切割for(int i = 0; i < count-1; i++){ //count-1 其中的一份文件不处理//初始化long fbegin = offset;//分割第几份文件long fend = (i+1) * maxSize;//写入二进制临时文件中offset = getWrite(file, i, fbegin, fend);}//将剩余的写入到最后一份文件中if((int)(length - offset) > 0){getWrite(file, count-1, offset, length);}

2、合并文件

// 声明随机可读可写的文件raf = new RandomAccessFile(new File(file), "rw");// 开始合并文件,对应切片的二进制文件for(int i = 0; i < temCount; i++){RandomAccessFile reader = new RandomAccessFile(new File(tempFile+"_"+i+".tmp"), "r");byte[] b = new byte[1024];int n = 0;while((n = reader.read(b)) != -1){raf.write(b, 0, n);}}

注意:需要本文源代码可关注微信号艳辉网 回复关键字‘java138’获取。

java对文件分片处理相关推荐

  1. java视频文件分片上传

    Java视频分块上传 环境:springboot2.5.6+jdk1.8 1.在启动类中配置静态资源映射 springboot项目中配置了静态资源映射之后就启动项目之后就可以通过地址访问了 @Spri ...

  2. java加vue实例_Vue.Js及Java实现文件分片上传代码实例

    upload(file) { //从后台获取已经上传的文件分片数 getIdx(md5) .then(function(res) { let retry = 3; uploadPart(retry, ...

  3. java多线程下载源码_Java多线程文件分片下载实现的示例代码

    多线程下载介绍 多线程下载技术是很常见的一种下载方案,这种方式充分利用了多线程的优势,在同一时间段内通过多个线程发起下载请求,将需要下载的数据分割成多个部分,每一个线程只负责下载其中一个部分,然后将下 ...

  4. java多线程上传文件_Java大文件分片上传/多线程上传

    这里只写后端的代码,基本的思想就是,前端将文件分片,然后每次访问上传接口的时候,向后端传入参数:当前为第几块文件,和分片总数 下面直接贴代码吧,一些难懂的我大部分都加上注释了: 上传文件实体类: 看得 ...

  5. java实现大文件分片上传功能(前后端都有,代码down下来配置完后可以直接运行)

    问题 项目解决的问题主要是java实现分片上传功能,问题描述: 楼主在公司最近项目中使用multipart文件上传视频文件到服务器上,然后用fastdfs保存到数据库中.发现当上传的视频文件太大的时候 ...

  6. java工具类之大文件分片(切割)与合并

    之前在潭州教育教学网站上看了一个视频关于java大文件的分片与合并 自己在练习的时候遇到一些坑,调试了好长时间 代码如下: 首先配置一个专门放参数的类 SplitFileParam public cl ...

  7. java实现大文件分片上传

    java实现大文件分片上传 在项目中用到了大文件上传功能,最初从网上参考了一些代码来实现,但是最终的上传效果不是很好,速度比较慢. 之前的上传思路是: 前端利用webUploader分片大文件 后端接 ...

  8. java 图片分段上传_java文件分片上传,断点续传

    文件夹数据库处理逻辑 publicclassDbFolder { JSONObject root; publicDbFolder() { this.root =newJSONObject(); thi ...

  9. fastdfs redis java,大文件上传_断点续传_文件分片传输_fastdfs_前后端一站式解决方案...

    大文件上传,断点续传,秒传,fastdfs 项目介绍 实现h5与fastdfs之间的断点续传,大文件上传,秒传 软件架构 软件架构说明 webuploader+springboot+redis+fas ...

最新文章

  1. python3 读取txt替换、n_从Python2迁移到Python3实战(一) pyupgrade
  2. 重置mysql root密码
  3. 华为宣布:免费培养8000名嵌入式开发者!学习免费!实践免费!辅导免费!
  4. 一文详解物化视图改写
  5. python生成正态分布数据_python 生成正态分布数据,并绘图和解析
  6. docker安装redis,使用jedis轻松操作redis
  7. AACL2022会议征稿
  8. mtk android 编译环境,MTK android 快速编译方法.docx
  9. js基础-15-new操作符,延迟加载,严格模式
  10. python将npy文件转换成图片
  11. mx播放器有没有投屏功能_无线投屏、即插即用,投影仪其实可以更智能:明基 E580T...
  12. 2.高速PCB设计规范(一)
  13. 造价员容易漏算的100项内容
  14. 经典时尚风格PS调色动作
  15. 例题—html(4)
  16. 【编译原理·总复习】第二章||文法语言||语法树||最左最右推导归约||句柄直接短语||例题+知识点
  17. 按降序显示奇数python_程序在Python中分别以升序和降序对所有偶数和奇数进行排序...
  18. python echo(msg) 字符串_python的subprocess模块
  19. 渗透测试sec123笔记
  20. JAVA财务保证金管理模块开发-王大师王文峰开发(项目现场驻场开发)

热门文章

  1. 一文聊透Netty核心引擎Reactor的运转架构
  2. PTA——基础编程题 | 7-27 冒泡法排序 (20分)
  3. JAVA兴趣小组申请理由_关于参与兴趣小组申请书范文
  4. el-table 表格内容多一根线的解决办法
  5. 带中文字库的12864驱动笔记
  6. Android单应用开多进程与单进程跑多应用
  7. 详解pandas的read_csv方法
  8. 苹果采集插件全套教程-苹果cmsV10采集插件
  9. HTML5游戏开发高级教程 | Lynda教程 中文字幕
  10. 5.Wide Deep Learning for Recommender Systems论文详细解读和代码实现