【实例简介】

【实例截图】

【核心代码】

package cn.part.com;

import java.io.BufferedInputStream;

import java.io.BufferedOutputStream;

import java.io.DataInputStream;

import java.io.DataOutputStream;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

public class LargeMappedFiles {

public static void splitFile(File file, int size,String path) throws Exception {

if (size <= 0) {

size = 1024;

}

if (!file.isFile()) {

throw new Exception("file not exists" path file.getName());

}

String filename = path file.getName();

File filetmp = new File(filename "_" 0 ".zip");

if (filetmp.isFile()) {

throw new Exception("file exists" path file.getName());

}

byte[] buf = new byte[1024 * 10];

FileInputStream fis = new FileInputStream(file);

int readsize = 0;

int pos = 0;

int k = 0;

int m = -1;

File fileout = null;

FileOutputStream fos = null;

while ((readsize = fis.read(buf, 0, buf.length)) > 0) {

if (k != m) {

if (fos != null) {

fos.close();

fos = null;

}

m = k;

fileout = new File(filename "_" k ".zip");

fos = new FileOutputStream(fileout);

}

fos.write(buf, 0, readsize);

fos.flush();

pos = readsize;

if (pos > size * (k 1)) {

k ;

}

}

if (fos != null) {

fos.close();

fos = null;

}

fis.close();

}

// 合并文件

public static void combination(File file) throws Exception {

String filename = file.getAbsolutePath();

File fileout = new File(filename);

if (fileout.isFile()) {

throw new Exception("file exists" fileout.getAbsolutePath());

}

FileOutputStream fos = new FileOutputStream(fileout);

int k = 0;

File filein = null;

FileInputStream fis = null;

byte[] buf = new byte[1024 * 10];

while (true) {

if (fis != null) {

fis.close();

fis = null;

}

filein = new File(filename "_" k ".zip");

if (!filein.isFile()) {

break;

}

fis = new FileInputStream(filein);

int readsize = 0;

while ((readsize = fis.read(buf, 0, buf.length)) > 0) {

fos.write(buf, 0, readsize);

fos.flush();

}

k ;

}

if (fis != null) {

fis.close();

fis = null;

}

fos.close();

}

public static void main(String[] args) throws Exception {

//splitFile(new File("E:\\downlaod\\c\\inventory.local.debug.zip"),4922765,"E:\\downlaod\\");

combination(new File("E:\\downlaod\\inventory.local.debug.zip"));

}

}

java文件分割合并_java实现文件分割与合并 类示例源码相关推荐

  1. java实现多媒体播放器_Java swing实现简单的视频多媒体播放器源码附带视频指导运行教程...

    <p> <span style="font-family:微软雅黑;font-size:19px;color:#666666;background-color:#FFFFF ...

  2. java随机猜数_java产生随机数且猜数字游戏(源码)

    java产生随机数且猜数字游戏(源码) java产生随机数且猜数字游戏(源码) package 第二次作业; import java.util.Random;                      ...

  3. java贪吃蛇代码_java实现贪吃蛇游戏代码(附完整源码)

    先给大家分享源码,喜欢的朋友点此处下载. 游戏界面 GUI界面 java实现贪吃蛇游戏需要创建一个桌面窗口出来,此时就需要使用java中的swing控件 创建一个新窗口 JFrame frame = ...

  4. 基于java项目ssm二手书交易平台设计与实现(论文+程序设计源码+数据库文件)

    1 绪论 4 1.1 项目开发背景 4 1.2 项目开发意义 5 1.3 项目主要的内容 5 2 相关技术介绍及系统环境开发条件 6 2.1相关技术介绍 6 2.2系统环境开发条件 7 3 系统的需求 ...

  5. Java绘画板源码_Java 绘图板 示例源码下载(画板)

    Java 绘图板 示例源码下载(画板) java 2020-8-21 下载地址 https://www.codedown123.com/36795.html package minidrawpad; ...

  6. vue - element <upload> 组件批量上传文档,可携带其他表单数据项一同与文件 “手动提交“ 服务器(类似百度文库系统批量上传前端界面与逻辑)超详细教程示例源码,提供界面与逻辑完整源码

    效果图 本示例使用的是 element 组件库,其实什么组件库都行(逻辑是一样),只要你是 vue.js 项目就能使用本教程. 本文实现了 vue + element 使用 upload 组件批量上传 ...

  7. android studio生成Jni头文件 java10,java11删除了javah,改用javac直接用源码生成jni头文件。 java8是用javah

    android studio生成Jni头文件 鼠标放本地方法上去,点提示来创建. java10,java11及以上   生成jni头文件 java10,java11删除了javah.改用javac直接 ...

  8. Asp.Net Web Api 2 实现多文件打包并下载文件示例源码

    前言 最近由于工作和个人事务,站点也好久没更新了,但这并不影响我对.NET的热情.站点的更新工作还是得想办法抽时间来完成的. 提要 今天利用中午的时间来写一篇关于Asp.Net Web Api下载文件 ...

  9. uniapp - 超详细录音上传功能,点击开始录音 / 最后保存文件上传到服务器功能(附带详细示例源码及整个过程的实现方法,注释详细小白轻松上手改造)全端兼容!

    效果图 网上的教程太乱用不了,无法改造成自己想要的效果. 在uniapp中开发中,实现点击录音功能,并支持保存录音文件.uniapp编译后全平台兼容通用, 你可以直接复制示例源码,跟着教程一步步配置, ...

最新文章

  1. Spring Boot 极简集成 Shiro
  2. 简历英文 计算机水平,计算机英文 简历
  3. Serverless那么火,2019年的采用如何?
  4. 好代码是管出来的——Git的分支工作流与Pull Request
  5. 银行营业网点管理系统——entity类(CityArea)
  6. Linux下的I/O多路复用select,poll,epoll浅析
  7. python猴子偷桃_Python实例100个(基于最新Python3.7版本)
  8. 动态绑数据(GridView控件Header和ItemTemplate)
  9. POJ 1740 A New Stone Game(博弈)题解
  10. Python基础:字典(dict)与集合(set)
  11. Android 开发一定要看的15个实战项目
  12. 【从零写javaweb框架】(零)前言
  13. 【JS基础】JavaScript轮播图代码详解
  14. java mb单位转换_字节、kb、mb等单位,是怎样换算的?
  15. Multi-Layered Gradient Boosting Decision Trees
  16. 什么是 GC,有什么作用?
  17. Docker Wnmp 搭建
  18. QTableWidget 设置表头颜色
  19. 灰狼算法(GWO)优化支持向量机的数据回归预测,GWO-SVM回归预测,多输入单输出模型。
  20. 求二叉树第K层节点个数(递归)

热门文章

  1. 文末福利|云原生下Java的变化与趋势?程序员为什么不喜欢低代码?答案在这里!...
  2. Spring-Retry重试实现原理
  3. 卧槽!竟然可以直接白嫖 Github Action 的 2C7G 服务器!
  4. RabbitMQ 延迟消息的极限是多少?
  5. java aop性能检测_Spring AOP 性能监控器
  6. java 升级1.8_升级系统中的java到1.8版本详解
  7. 遮挡目标检测优化笔记
  8. c++ 创建 mat
  9. c++ #define 预处理器
  10. Fast_Human_Pose_Estimation_Pytorch