最近开发有个需求,需要将大文件分片后在上传,这里通过NIO异步非阻塞流实现,代码如下

//file需要分片的文件,splitNum:要分几片,currentDir:分片后存放的位置,splitSize:按多大分片public static void nioSpilt(File file, int splitNum, String currentDir, long splitSize) throws Exception {FileInputStream fis = new FileInputStream(file);FileChannel inputChannel = fis.getChannel();FileOutputStream fos;FileChannel outputChannel;File currentDirFile = new File(currentDir);if (!currentDirFile.exists()){currentDirFile.mkdirs();}long startPoint = 0;for (int i = 1; i <= splitNum; i++) {String splitFileName = currentDir + i;File splitFile = new File(splitFileName);splitFile.createNewFile();fos = new FileOutputStream(splitFileName);outputChannel = fos.getChannel();inputChannel.transferTo(startPoint, splitSize, outputChannel);startPoint += splitSize;outputChannel.close();fos.close();}inputChannel.close();fis.close();}

java实现大文件切割分片相关推荐

  1. java实现把一个大文件切割成N个固定大小的文件

    这个好像是我一年前去面试时的一道面试题,分享一下!考 java I/O 的! //java实现把一个大文件切割成N个固定大小的文件 package com.johnny.test; import ja ...

  2. java切割文件_Java如何将大文件切割成小文件

    运用Java编写代码将一个大文件切割成指定大小的小文件 思路: 对已知文件进行切割操作 –> 得到多个碎片文件 使用: 1. 1个字节输入流 –> 读取已知文件中的数据 2. 多个字节输出 ...

  3. java实现对大文件切割下载_Java实现大文件的切割与合并操作示例

    Java实现大文件的切割与合并操作示例 发布时间:2020-09-27 02:25:08 来源:脚本之家 阅读:99 作者:HiBoyljw 本文实例讲述了Java实现大文件的切割与合并操作.分享给大 ...

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

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

  5. vue+element-ui大文件的分片上传和断点续传js-spark-md5和browser-md5-file

    注意:以下共两份代码片段,第一份为原博主链接代码,第二份自己写的整体代码(比较乱) 1.参考 https://www.cnblogs.com/kelelipeng/p/10158599.html (j ...

  6. Java 高效大文件 读取 和 写入(一亿行)

    写文件 需求:写入1亿行,7位以内的随机的数字. 首先看成果图,代表没骗大家!!!!! 这个是最终生成的文件,有770多MB .下面用glogg打开预览: 程序打印耗时 7149ms + 923 ms ...

  7. java 读取txt,java读取大文件

    java 读取txt,java读取大文件 package com.bbcmart.util; import java.io.File; import java.io.RandomAccessFile; ...

  8. php带截切图片上传_PHP大文件切割上传并带进度条功能示例

    本文实例讲述了PHP大文件切割上传并带进度条功能.分享给大家供大家参考,具体如下: 前面一篇介绍了PHP大文件切割上传功能,这里再来进一步讲解PHP大文件切割上传并带进度条功能. 项目结构图: 14- ...

  9. html video 设置进度条不可拖动_PHP大文件切割上传并带上进度条功能,不妨一试...

    文章来自:脚本之家链接:https://www.jb51.net/article/164316.htm 作者:hhmp 商务合作:请加微信(QQ):2230304070 资源教程分享 码农网-技术教程 ...

  10. php+如何按文字分割文件夹,PHP实现的大文件切割与合并功能示例

    本文实例讲述了PHP实现的大文件切割与合并功能.分享给大家供大家参考,具体如下: 分割代码 split.php $i = 0; //分割的块编号 $fp = fopen("hadoop.sq ...

最新文章

  1. winform 多个关键字的高亮显示
  2. 前台提示_住哲随手记:前台工作备忘录,记你想记的所有事
  3. 任务数量超过线程池负荷了怎么办?拒绝策略安排起来!
  4. 【bzoj2844 albus就是要第一个出场】
  5. SQL语法之排序查询(进阶3)and常见函数(进阶4)
  6. 中求解数组中元素个数_JavaScript之学underscore在数组中查找指定元素
  7. BZOJ4881 线段游戏(二分图+树状数组/动态规划+线段树)
  8. python安装方法_Python基础入门——简介和环境配置,超实用!
  9. Ubuntu 18.04 rc.local systemd设置
  10. 服务器怎么识别swf文件,服务器架设swf支持播放flv格式 swf格式
  11. uni-app框架介绍
  12. 博弈论中的简单合作博弈 C#实现
  13. 明尼苏达大学Transportation Research Data Lab (TDRL)交通数据读取
  14. 天马行空 PCI理解
  15. 计算机科学教育英文论文题目,学生方面计算机相关的毕业论文,关于计算机专业英语课程教学改革和实践相关在职研究生毕业论文...
  16. docker执行权限问题Got permission denied while trying to connect to the Docker daemon socket
  17. 高斯求和问题(C语言程序设计)
  18. 游戏建模行业就国内发展的前景,以及行业变化是如何的?
  19. 计算机网络(IP/TCP/HTTP)
  20. ROS- 激光雷达测距原理及主要参数

热门文章

  1. 公共关系与人际交往能力
  2. 【防火墙_静态路由】
  3. 手脱Aspack变形壳1
  4. dubbo之服务本地暴露
  5. lzy的游戏【思维分析】【背包】
  6. C语言学习 单精度、双精度各有几位小数?
  7. 在B站看猫片被老板发现?不如按下F12学学HTTP
  8. linux audit 源码分析,audit初探
  9. android 玻璃背景,Android 弹窗毛玻璃背景实践
  10. 区块链 交易和区块数据存在哪儿