import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.RandomAccessFile;
import java.io.SequenceInputStream;
import java.util.Vector; public class RandonFileAccessTest {
public static void main(String[] args) throws IOException { splitFile("test.txt");
mergeFile();
mergeFile2();
} //拆分文件
public static void splitFile(String path) throws IOException{
InputStream is = new FileInputStream(path);
int len=0;
byte[] buff = new byte[1024];
int i = 1;
while((len=is.read(buff))!=-1){
RandomAccessFile raf = new RandomAccessFile("raf"+i+".txt", "rw");//raf1.txt raf2.txt 一共只有两个文件
raf.write(buff,0,len);
raf.close();
i++;
}
is.close();
}

  //合并文件
public static void mergeFile() throws IOException{
RandomAccessFile raf = new RandomAccessFile("raf3.txt", "rw");
InputStream is = null;
for(int i=1;i<3;i++){
int len=0;
is = new FileInputStream("raf"+i+".txt"); //一共就两个文件
byte[] buff = new byte[1024];
while((len=is.read(buff))!=-1){
raf.write(buff,0,len);
}
} is.close();
raf.close();
}

  //另一种方式的合并文件
public static void mergeFile2() throws IOException{
RandomAccessFile raf = new RandomAccessFile("raf4.txt", "rw");
InputStream is = null; Vector<InputStream> vt = new Vector<InputStream>(); for(int i=1;i<3;i++){
is = new FileInputStream("raf"+i+".txt");//raf1.txt raf2.txt
vt.addElement(is);
}
SequenceInputStream sis = new SequenceInputStream(vt.elements()); int len=0;
byte[] buff = new byte[1024];
while((len=sis.read(buff))!=-1){
raf.write(buff,0,len);
} sis.close();
is.close();
raf.close();
}
}

RandomAccessFile拆分合并文件的更多相关文章

  1. C# 合并及拆分PDF文件

    C# 合并及拆分PDF文件 有时我们可能会遇到下图这样一种情况 — 我们需要的资料或教程被分成了几部分存放在多个PDF文件中,不管是阅读还是保存都不是很方便,这时我们肯定想要把这些PDF文件合并为一个 ...

  2. C# 合并和拆分PDF文件

    一.合并和拆分PDF文件的方式 PDF文件使用了工业标准的压缩算法,易于传输与储存.它还是页独立的,一个PDF文件包含一个或多个"页",可以单独处理各页,特别适合多处理器系统的工作 ...

  3. Android开发之合并文件的几种方式

    以下介绍合并文件的几种方式,并通过合并amr文件来举例介绍合并文件的详细流程.amr格式的文件头是6字节,所以在进行文件合并的时候要减去除第一个文件以外的其它文件的文件头. 注意:不同文件的文件头是不 ...

  4. split命令_Linux split命令:切割(拆分)文件

    <Linux就该这么学>是一本基于最新Linux系统编写的入门必读书籍,内容面向零基础读者,由浅入深渐进式教学,销量保持国内第一,年销售量预期超过10万本.点此免费在线阅读. 15 分钟之 ...

  5. PDF 拆分/合并

    不会真的有人会去下载那些广告免费,实则要收会员费的黑心软件来进行PDF的拆分合并吧??? 在下载两个均不能免费实现PDF自由拆分.合并,以及PDF打印方式会增加文件大小的情况下,一个合格的程序员肯定不 ...

  6. PDF 补丁丁 0.4.2.905 测试版发布:智能合并功能减小合并文件的大小

    之前的测试版在合并文件功能处添加两个相同的PDF文件,程序会重复写入该文件的内容,导致文件体积膨胀,浪费存储空间. 例如:使用者需要在原 PDF 文件(设文件为1.pdf)第2和第3页中间插入几张图片 ...

  7. stream流批量读取并合并文件

    import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.F ...

  8. IO流--切割 合并文件

    import java.io.*; import java.util.*; public class io { public static void main(String[] args)throws ...

  9. PDF 补丁丁 0.4.1.804 测试版发布:合并文件夹的图片和PDF文件,自由生成多层次书签

    新的测试版增强了合并文件的功能,可以合并文件夹内的图片和PDF文件,还可以在合并文件列表上直接指定与合并文件对应的PDF书签标题.通过拖放文件项目生成多层次的PDF书签.如下图所示: 另外,新的测试版 ...

随机推荐

  1. 用 javascript 脚本,网站判读来访者是手机还是电脑

    <script> var system ={}; var p = navigator.platform; system.win = p.indexOf("Win") = ...

  2. 慕课网-Java入门第一季-7-1 如何定义 Java 中的方法

    来源:http://www.imooc.com/code/1577 所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块. 一般情况下,定义一个方法的语法是: 其中: 1. 访问修饰符:方法 ...

  3. MongoDB中insert方法、update方法、save方法简单对比

    MongoDB中insert方法.update方法.save方法简单对比 1.update方法 该方法用于更新数据,是对文档中的数据进行更新,改变则更新,没改变则不变. 2.insert方法 该方法用 ...

  4. (Hibernate进阶)Hibernate系列——总结篇(九)

    这篇博文是hibernate系列的最后一篇,既然是最后一篇,我们就应该进行一下从头到尾,整体上的总结,将这个系列的内容融会贯通. 概念 Hibernate是一个对象关系映射框架,当然从分层的角度看,我 ...

  5. jira的使用

    http://www.cnblogs.com/yangxia-test/p/4448002.html linux下的安装: http://blog.csdn.net/crave_shy/article ...

  6. python3网络爬虫笔记

    参考资料 Python官方文档 知乎相关资料(1) 这篇非常好, 通俗易懂的总览整个Python学习框架. 知乎相关资料(2) 代码实现(一): 用Python抓取指定页面 #!/usr/bin/en ...

  7. centos 7 挂载大硬盘

    对硬盘sdb进行分区 parted -a optimal /dev/sdb 使用GPT格式 mklabel gpt 建立一个主分区 mkpart primary - 显示分区信息 print 退出 q ...

  8. session 丢失和解决方案

    在ASP.NET的开发中,总遇到Session丢失.最常见的情况是当用户登录后将用户信息保存在Session中例如Session["user"]=user;在其后的页面中检查Ses ...

  9. 3o_AutoSSH

    ∮自动发送 ssh 公钥,为 ansible 鸣锣开道 Bold 参考资料 http://mageedu.blog.51cto.com/4265610/1412028 ...其实我并没有参考这篇博文的 ...

  10. web聊天室

    开发一个web聊天室 功能需求: 1.用户可以与好友一对一聊天 2.群聊 所需知识 1.Django 2.bootstrap 3.CSS 4.ajax 涉及到的新的知识点 1.如果设计表结构的时候,一 ...