A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 周洋 黑马帝   /  2012-3-30 22:44  /  1699 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

序列流 到底有什么用处啊  用在什么方面

4 个回复

倒序浏览
实现Interface Serializable这个接口的对象可被序列化,序列化也就是对象可被引入到输入输出流中
ObjectOutputStream oos = new ObjectOutputStream(new Serializable(){} );


回复 使用道具 举报
  序列流是IO中的其它类,SequenceInputSteam作用可以将多个字节流整合成一个流,操作方便,在使用这个流读取的时候,读到第一个流的末尾时继续读第二个,第二个读到末尾则读第三个,以此类推,知道读到最后一个刘的末尾返回-1. 需要的枚举接口可以通过Collections.enumeration(collection);
回复 使用道具 举报
  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. }
复制代码
回复 使用道具 举报
如果要将三个文件中的数据存进一个文件中,如果不使用序列流你需要将三个文件中的数据挨个读取并挨个写入指定文件中,
使用序列流就不一样了,首先将三个文件添加进Vector集合对象,通过该对象的elements方法可以得到Enumeration接口对象en,然后只需将en传进序列流对象,
这样就可以就三个文件顺序读取并写入指定文件中,这样更方便。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马