代码如下:
package io;
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;
//合并流的主要功能是将两文件的内容合并成一个文件
public class SequenceInputSteamTest {
public static void main(String[] args) {
File f1 = new File("E:"+File.separator+"a.txt");
File f2 = new File("E:"+File.separator+"b.txt");
File f3 = new File("E:"+File.separator+"ab.txt");
InputStream is1 = null;
InputStream is2 = null;
OutputStream os = null;
try {
is1 = new FileInputStream(f1);
is2 = new FileInputStream(f2);
os = new FileOutputStream(f3);
SequenceInputStream sis = new SequenceInputStream(is2,is1);
System.out.println(sis.available()+"字节");
int temp = 0;
while((temp=sis.read())!=-1){
os.write(temp);
}
sis.close();
is1.close();
is2.close();
os.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
这样写SequenceInputStream sis = new SequenceInputStream(is2,is1);
可以将两个文件合并,读出正确的字节数,可是为什么括号中内容改成
(is1,is2)就只能读出is1中的字节数了呢?望大家帮忙看下,谢谢了~