黑马程序员技术交流社区
标题:
关于文件合并的几个小疑惑
[打印本页]
作者:
草鱼狂飙
时间:
2014-5-7 17:10
标题:
关于文件合并的几个小疑惑
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.SequenceInputStream;
import java.util.Enumeration;
import java.util.Vector;
/**
*
* @author Administrator
* 思路:
* 1.新建一个文件输入流数组
* 2.新建文件输入刘对象,添加到数组中
* 3.
*/
public class SequenceDome {
public static void main(String[] args) throws IOException {
Vector<FileInputStream> v= new Vector<FileInputStream>();
v.add(new FileInputStream("d:\\splitfile0.part"));
v.add(new FileInputStream("d:\\splitfile0.part"));
v.add(new FileInputStream("d:\\splitfile0.part"));
Enumeration<FileInputStream> en =v.elements();//返回此向量的组件的枚举。
SequenceInputStream sis= new SequenceInputStream(en);
// 表示其他输入流的逻辑串联。它从输入流的有序集合开始,并从第一个输入流开始读取,直到到达文件末尾,
// 接着从第二个输入流读取,依次类推,直到到达包含的最后一个输入流的文件末尾为止。
FileOutputStream fos= new FileOutputStream("d:\\ddddd.mp3");
byte[] buf=new byte[1024];
int len=0;
while((len = sis.read(buf))!=-1){
fos.write(buf,0,len);
}
fos.close();
sis.close();
}
}
复制代码
其实的这段代码的具体意义怎么解释
Enumeration<FileInputStream> en =v.elements();//返回此向量的组件的枚举。
SequenceInputStream sis= new SequenceInputStream(en);
复制代码
老师讲一句话带过,我还是不求甚解,前面的都可以想通,但是这两行代码结合帮助文档还是不理解,只是知道它的作用是把三个文件输入流合并到一个流内,但是具体应该怎么解释?
作者:
草鱼狂飙
时间:
2014-5-7 17:11
上面打错了字了,应该为不是很理解…………搜狗失误了……&…………
作者:
焚雨成灰
时间:
2014-5-7 18:21
仅仅是调用了SequenceInputStream的构造方法而已,构造一个序列流对象
SequenceInputStream(Enumeration<? extends InputStream> e)
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2