您的位置:首页 > 产品设计 > UI/UE

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();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: