java多文件复制
package 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;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Set;
//多文件复制
public class Demo10 {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
textsequenceinputstream();
}
private static void textsequenceinputstream() throws IOException {
// TODO Auto-generated method stub
InputStream fis1 = new FileInputStream("D://a.txt");
InputStream fis2 = new FileInputStream("D://b.txt");
InputStream fis3 = new FileInputStream("D://c.txt");
Set<InputStream> set =new LinkedHashSet<InputStream>();
set.add(fis1);
set.add(fis2);
set.add(fis3);
final Iterator<InputStream> it = set.iterator();
SequenceInputStream sis = new SequenceInputStream(
new Enumeration<InputStream>(){
@Override
public boolean hasMoreElements() {
// TODO Auto-generated method stub
return it.hasNext();
}
@Override
public InputStream nextElement() {
// TODO Auto-generated method stub
return it.next();
}
}
);
OutputStream fos = new FileOutputStream("D://sis.txt");
int len = 0;
byte[] buf = new byte[1024];
while((len = sis.read(buf))!= -1){
fos.write(buf,0,len);
}
fos.close();
sis.close();
}
}