package chapter8.file; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.SequenceInputStream; public class TwoFileCombine { public static void main(String[] args) throws IOException { //字节输入流对象s1 InputStream s1 = new FileInputStream(new File("src/chapter8/file/1.txt")); //字节输入流对象s2 InputStream s2 = new FileInputStream(new File("src/chapter8/file/2.txt")); /** * java.io 类 SequenceInputStream SequenceInputStream 表示其他输入流的逻辑串联。它从输入流的有序集合开始, 并从第一个输入流开始读取,直到到达文件末尾,接着从第二个输入流读取,依次类推, 直到到达包含的最后一个输入流的文件末尾为止。 SequenceInputStream(InputStream s1, InputStream s2) 通过记住这两个参数来初始化新创建的 SequenceInputStream(将按顺序读取这两个参数,先读取 s1,然后读取 s2), 以提供从此 SequenceInputStream 读取的字节。 */ //创建一个序列流,合并两个字节流is1和is2 SequenceInputStream se = new SequenceInputStream(s1, s2); //字节输出流对象os OutputStream os = new FileOutputStream("src/chapter8/file/12.txt"); //创建一个1024个字节数组的缓存区 byte[] b = new byte[1024]; int len = 0; while((len=se.read(b))!=-1){ os.write(b, 0, len);//将缓冲区的数据输出 os.write("\r\n".getBytes());//回车换行 } System.out.println("合并成功"); } }
package chapter8.file; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.SequenceInputStream; import java.util.Enumeration; import java.util.Vector; public class ManyFileCombine { public static void main(String[] args) throws IOException { //创建字节输入流对象s1,s2,s3 InputStream s1 = new FileInputStream(new File("src/chapter8/file/1.txt")); InputStream s2 = new FileInputStream(new File("src/chapter8/file/2.txt")); InputStream s3 = new FileInputStream(new File("src/chapter8/file/3.txt")); /** * SequenceInputStream(Enumeration<? extends InputStream> e) 通过记住参数来初始化新创建的 SequenceInputStream, 该参数必须是生成运行时类型为 InputStream 对象的 Enumeration 型参数。 */ //创建一个Vector类对象v Vector<InputStream> v = new Vector<>(); /** * void addElement(E obj) 将指定的组件添加到此向量的末尾,将其大小增加 1。 */ //将3个字节流对象添加到Vector容器中 v.addElement(s1); v.addElement(s2); v.addElement(s3); //获取Vector对象中的元素 Enumeration<InputStream> e = v.elements(); //将Enumeration对象中的流合并(创建一个序列流,用于合并多个字节流文件s1,s2,s3) SequenceInputStream se = new SequenceInputStream(e); OutputStream os = new FileOutputStream("src/chapter8/file/123.txt"); byte[] b = new byte[1024]; int len=0; while((len=se.read(b))!=-1){ os.write(b, 0, len); os.write("\r\n".getBytes()); } System.out.println("合并成功"); } }
相关推荐
java 通过io流 让文件切割 或者 合并。。
主要介绍了Java 使用IO流实现大文件的分割与合并实例详解的相关资料,需要的朋友可以参考下
利用java io写了一个文件分割和合并的代码,两个文件分开,希望可以对大家有帮助
java课程设计,io流+gui界面,注释详细,简单易懂。
java 文件分割合并源码,实现了文件的分割与合并,对Java IO 的学习有很大帮助。
使用Java代码实现Java文件夹下的内容并将其合并起来,对刚接触IO的程序员非常适合
文件切割和文件合并这个问题困扰了我有一段时间了(超过一天没做粗来)。 找了好多博客,本来想转载一个来的 结果找不到了。很无奈。 只好自己贴代码上了。 当然我会尽力好好写注释的。 文件切割器: import java.io...
使用java IO技术实现将多文件中的内容集中到一个文件上 只需输入一个文件夹的路径和目的路径即可完成文件拷贝复制 并且解决了中文乱码的问题s
在Java的IO中,所有的stream(包括Input和Out stream)都包括两种类型: 1.1 以字节为导向的stream 以字节为导向的stream,表示以字节为单位从stream中读取或往stream中写入信息。以字节为导向的stream包括下面几种...
1) ByteArrayInputStream:把内存中的一个缓冲区作为InputStream使用 2) StringBufferInputStream:把一个String对象作为InputStream 3) FileInputStream:把一个文件作为InputStream,实现对文件的读取操作 4) ...
这个java类文件主要使用了java io访问及文件操作处理。电信设备产生的大量的日志文件的内容需要写入到数据库中,设备在每天将产生数以百计的日志文件,这些日志文件的内容存储遵循一定的格式,本文件实现将这些文件...
用java编写的一个操作文件的程序。具体功能是 将指定文件夹下面的所有txt文件的内容合并到一个txt里边。其中包含了java io流读写文件的操作。 将项目导入myeclipse直接运行就可以了。
以上能够直接对数据进行读和写的流叫节点流,但是直接用这些来操作是比较麻烦的,而且一个字节一个字节的对文件处理,对硬盘的读取和存入对硬盘的损伤是很大的,因此需要对这些节点流进行包装,即外套一些处理流来...
本资源内详尽描述了Java基础的IO操作,包括基本的文件读取、写入、复制、分割、合并等动作,详情另可参见我的博客http://blog.csdn.net/zhongkelee/article/details/47061013
Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...
将多个读取流合并成一个读取流,可以方便操作多个读取流。原理(迭代器)。 OutputStream |--FileOutputStream/:文件输出流。用于将写入File和FileDescriptor的输出流。用来操作图像,声音,视频等原始字节流。 ...
pdf文件合并拼接 package com.zht; import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.apache.pdfbox.io.MemoryUsageSetting; import...
Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...
最近做到的面试题,绝对路径下既有文件又有文件夹下的文件,需要拆分合并字符,一个简单程序demo,普通java类写的
Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...