SequenceInputStream
2016-07-13 09:28
399 查看
package file; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.SequenceInputStream; import java.util.Enumeration; import java.util.Vector; public class Demo9 { public static void main(String[] args) throws IOException { // merge1(); merge2(); } //把三个文件合并 public static void merge2() throws IOException { //找到目标文件 File inFile1 = new File("F:\\1.txt"); File inFile2 = new File("F:\\2.txt"); File inFile3 = new File("F:\\3.txt"); File outFile = new File("F:\\a.txt"); //建立数据的输入输出通道 FileOutputStream fileOutputStream = new FileOutputStream(outFile); FileInputStream fileInputStream1 = new FileInputStream(inFile1); FileInputStream fileInputStream2 = new FileInputStream(inFile2); FileInputStream fileInputStream3 = new FileInputStream(inFile3); //创建序列流对象 Vector<FileInputStream> vector = new Vector<FileInputStream>(); vector.add(fileInputStream1); vector.add(fileInputStream2); vector.add(fileInputStream3); Enumeration<FileInputStream> e = vector.elements(); SequenceInputStream sequenceInputStream = new SequenceInputStream(e); //读取文件数据 byte[] buf = new byte[1024]; int length = 0; while((length = sequenceInputStream.read(buf))!=-1) { fileOutputStream.write(buf, 0, length); } sequenceInputStream.close(); fileOutputStream.close(); } //使用SequenceInputStream合并 public static void merge1() throws IOException { //找到目标文件 File inFile1 = new File("F:\\2.txt"); File inFile2 = new File("F:\\a.txt"); File outFile = new File("F:\\1.txt"); //建立数据的输入输出通道 FileOutputStream fileOutputStream = new FileOutputStream(outFile); FileInputStream fileInputStream1 = new FileInputStream(inFile1); FileInputStream fileInputStream2 = new FileInputStream(inFile2); //建立序列流对象 SequenceInputStream inputStream = new SequenceInputStream(fileInputStream1,fileInputStream2); byte[] buf = new byte[1024]; int length = 0; while((length = inputStream.read(buf))!=-1) { fileOutputStream.write(buf, 0, length); } //关闭资源 inputStream.close(); fileOutputStream.close(); } }
相关文章推荐
- WebUI 常用
- 不自定义cell,最原始的创建UITableViewCell
- 正确使用String,StringBuffer,StringBuilder
- android 事件处理机制之requestDisallowInterceptTouchEvent
- C#时间转换UInt64<--->DateTime
- Vue.js
- 设计模式(2)-创建型-建造者模式(Builder)
- 设计模式(2)-创建型-建造者模式(Builder)
- 设计模式(2)-创建型-建造者模式(Builder)
- 设计模式(2)-创建型-建造者模式(Builder)
- druid数据源的加密解密工具
- UESTC 2016 Summer Training #2 Div.2 A dp、递推、多阶段问题
- android studio 导入项目出现 Error:Gradle version 2.2 is required.
- NYOJ 925 最小生成树(按权值大小排序生成树)+查重函数unique
- java GUI 之 适配器模式
- iOS 合并 UIImage
- 【Java】serialVersionUID的作用
- UIImageView特性的详细尝试
- jquer 设置按钮是否可用
- UIActivityViewController显示中文