黑马程序员技术交流社区

标题: 序列流 [打印本页]

作者: 周洋    时间: 2012-3-30 22:44
标题: 序列流
序列流 到底有什么用处啊  用在什么方面
作者: 如梦初醒    时间: 2012-3-31 22:06
实现Interface Serializable这个接口的对象可被序列化,序列化也就是对象可被引入到输入输出流中
ObjectOutputStream oos = new ObjectOutputStream(new Serializable(){} );



作者: 陈苓    时间: 2012-3-31 22:32
  序列流是IO中的其它类,SequenceInputSteam作用可以将多个字节流整合成一个流,操作方便,在使用这个流读取的时候,读到第一个流的末尾时继续读第二个,第二个读到末尾则读第三个,以此类推,知道读到最后一个刘的末尾返回-1. 需要的枚举接口可以通过Collections.enumeration(collection);
作者: 陈苓    时间: 2012-3-31 22:34
  1.         public static void main(String[] args) throws IOException {

  2.                 ArrayList<FileInputStream> al = new ArrayList<FileInputStream>();
  3.                
  4.                 for(int x=1; x<=3; x++){
  5.                         al.add(new FileInputStream(x+".txt"));
  6.                 }
  7.                
  8.                 Enumeration<FileInputStream> en = Collections.enumeration(al);
  9.                
  10.                
  11.                 SequenceInputStream sis = new SequenceInputStream(en);               
  12.                
  13.                 FileOutputStream fos  = new FileOutputStream("444.txt");
  14.                
  15.                 byte[] buf = new byte[1024];
  16.                
  17.                 int len = 0;
  18.                 while((len=sis.read(buf))!=-1){
  19.                         fos.write(buf,0,len);
  20.                 }
  21.                
  22.                 fos.close();
  23.                 sis.close();
  24.                
  25.         }

  26. }
复制代码

作者: 刘元明    时间: 2012-3-31 23:49
如果要将三个文件中的数据存进一个文件中,如果不使用序列流你需要将三个文件中的数据挨个读取并挨个写入指定文件中,
使用序列流就不一样了,首先将三个文件添加进Vector集合对象,通过该对象的elements方法可以得到Enumeration接口对象en,然后只需将en传进序列流对象,
这样就可以就三个文件顺序读取并写入指定文件中,这样更方便。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2