分割设置好分割数量,根据源文件大小来把数据散到子文件中代码如下;

package word;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream; public class Bb { public static void main(String[] args) throws FileNotFoundException {
// TODO 自动生成的方法存根 String path1="C:";
String name="\\JAVA";
String end=".txt";
String path2; long l;
long n=2;//设置分割数目
File file = new File(path1+name+end);
File file2;
l=file.length();
InputStream in = null;
PrintStream out = null;
try { in = new FileInputStream(file);
int tempbyte;
int i=0;
for(i=1;i<=n;i++) {
path2=path1+name+i+end;
file2=new File(path2);
if(file2.exists()) {}
else {
file2.createNewFile();
}
out=new PrintStream(file2);
while ((tempbyte = in.read()) != -1) { out.print((char)tempbyte);
System.out.write(tempbyte);
if(file2.length()>l/n)break;//子文件到达指定大小就创建下一个文件;
} }
out.close();
in.close();
} catch (IOException e) {
e.printStackTrace();
return; }
}}

合并就是上面的反过程,即把各个小文件输入到大文件中:

package word;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream; public class Bb { public static void main(String[] args) throws FileNotFoundException {
// TODO 自动生成的方法存根 String path1="C:";
String name="\\JAVA";
String end=".txt";
String path2; long n=2;
File file = new File(path1+name+end);
File file2;
l=file.length();
InputStream in = null;
PrintStream out = null;
if(file.exists()) {}
else {
file.createNewFile();
}
out=new PrintStream(file);
try { int tempbyte;
int i=0;
for(i=1;i<=n;i++) {
path2=path1+name+i+end;
file2=new File(path2);
in = new FileInputStream(file2); while ((tempbyte = in.read()) != -1) { out.print((char)tempbyte); } }
out.close();
in.close();
} catch (IOException e) {
e.printStackTrace();
return; }
}}

java文件分割及合并的更多相关文章

  1. java:快速文件分割及合并

    文件分割与合并是一个常见需求,比如:上传大文件时,可以先分割成小块,传到服务器后,再进行合并.很多高大上的分布式文件系统(比如:google的GFS.taobao的TFS)里,也是按block为单位, ...

  2. (转)java:快速文件分割及合并

    文件分割与合并是一个常见需求,比如:上传大文件时,可以先分割成小块,传到服务器后,再进行合并.很多高大上的分布式文件系统(比如:google的GFS.taobao的TFS)里,也是按block为单位, ...

  3. JAVA IO分析三:IO总结&文件分割与合并实例

    时间飞逝,马上就要到2018年了,今天我们将要学习的是IO流学习的最后一节,即总结回顾前面所学,并学习一个案例用于前面所学的实际操作,下面我们就开始本节的学习: 一.原理与概念 一.概念流:流动 .流 ...

  4. c语言文件分割与合并

    一.综述 c语言操作文件通过文件指针FILE*,每个要操作的文件必须打开然后才能读写. 注意事项: @1分割与合并文件最好使用二进制模式即"rb"或"wb",这 ...

  5. PDF文件分割和合并

    今天自己用C#实现了下PDF文件的分割和合并,大家可以试用一下. 代码和使用说明在这里:https://github.com/cserspring/pdf_split_merge 有什么意见,大家可以 ...

  6. python学习——大文件分割与合并

    在平常的生活中,我们会遇到下面这样的情况: 你下载了一个比较大型的游戏(假设有10G),现在想跟你的同学一起玩,你需要把这个游戏拷贝给他. 然后现在有一个问题是文件太大(我们不考虑你有移动硬盘什么的情 ...

  7. delphi 文件分割与合并

    流的使用分割与合并文件的函数 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, ...

  8. Java IO 流 -- 随机读取和写入流 RandomAccessFile (文件分割和合并)

    RandomAccessFile 相对其它流多了一个seek() 方法指定指针的偏移量. 1.指定起始位置读取剩余内容 public static void test01() throws IOExc ...

  9. PHP大文件存储示例,各种文件分割和合并(二进制分割与合并)

    最近要对视频进行上传,由于涉及到的视频非常的大,因此采用的是分片上传的格式,下面是一个简单的例子: split.php <?php $i = 0; //分割的块编号 $fp = fopen(&q ...

随机推荐

  1. zabbix4.0的安装与配置

    #安装zabbix监控首先的先安装LNMP环境,在这里我采用事先准备好的脚本进行安装LNMP环境 脚本内容如下: #!/bin/bash # DATE:Wed Jan # hw226234@126.c ...

  2. learn about sqlserver partitition and partition table 1

    Dear all, Let get into business, the partitions on sql server is very different with that on oracle. ...

  3. MySQL8.0关系数据库基础教程(三)-select语句详解

    1 查询指定字段 在 employee 表找出所有员工的姓名.性别和电子邮箱. SELECT 表示查询,随后列出需要返回的字段,字段间逗号分隔 FROM 表示要从哪个表中进行查询 分号为语句结束符 这 ...

  4. num14---享元模式

    案例:

  5. 大话IDL之(基本操作流程)

    这里将对ENVI-IDL二次开发程序的一个通用流程做一个总结. 1.首先是文件打开和数据读取: 文件打开work_dir = dialog_pickfile(title='选择路径',/directo ...

  6. php 对象示例

    <?php header("content-type:text/html; charset=utf-8"); error_reporting(E_ALL); class My ...

  7. qt creator源码全方面分析(2-0)

    目录 Extending Qt Creator Manual 生成领域特定的代码和模板 代码片段 文件和项目模板 自定义向导 支持其他文件类型 MIME类型 高亮和缩进 自定义文本编辑器 其他自定义编 ...

  8. 关于responseType的值

    http请求有个responseType, 用来设置返回值,默认是'',等同于text,数据格式的转换是浏览器处理的 我们还会用到json,buffer,blob json:是我们经常遇到后端返回的数 ...

  9. C语言switch中case后跟随break语句

    1.case后面的常量表达式实际上只起语句标号作用,而不起条件判断作用,即“只是开始执行处的入口标号”.因此,一旦与switch后面圆括号中表达式的值匹配,就从此标号处开始执行:而且执行完一个case ...

  10. 配置 Apache James 邮件服务器以使用加密邮件通讯协议

    可先参照: 使用 Apache James 3.3.0(开源免费) 搭建内网电子邮件服务器(基于 Windows + Amazon Corretto 8)https://www.cnblogs.com ...