黑马程序员技术交流社区

标题: 毕老师视频合并流疑问 [打印本页]

作者: 樊其杰    时间: 2013-5-8 22:00
标题: 毕老师视频合并流疑问
本帖最后由 樊其杰 于 2013-5-9 19:44 编辑
  1. import java.io.*;
  2. import java.util.*;

  3. public class SequenceDemo {

  4.         public static void main(String[] args) throws IOException{
  5.                 // TODO Auto-generated method stub
  6.                 Vector<FileInputStream> vector=new Vector<FileInputStream>();
  7.                 vector.add(new FileInputStream("E:\\java\\1.txt"));
  8.                 vector.add(new FileInputStream("E:\\java\\2.txt"));
  9.                 vector.add(new FileInputStream("E:\\java\\3.txt"));
  10.                
  11.                 Enumeration<FileInputStream> e=vector.elements();
  12.                
  13.                 SequenceInputStream sis=new SequenceInputStream(e);
  14.                 FileOutputStream fos=new FileOutputStream("E:\\java\\4.txt");
  15.                 byte[] buf=new byte[1024];
  16.                 int len=0;
  17.                 while((len=sis.read(buf))!=-1){
  18.                         fos.write(buf,0,len);
  19.                 }
  20.                 fos.close();
  21.                 sis.close();
  22.         }
  23. }
复制代码
输出结果为:
1111111111111
1111111111111111111111111
111111111222222222222
2222222222222222222222
22233333333333333
33333333333333333333333
33333
上面是我的代码,感觉和毕老师代码是一样的,但是合并后的文件里,文件内容之间的没有换行,,毕老师视频里却是换行的,不知道问题出在哪里?来人帮我看看
作者: 樊其杰    时间: 2013-5-9 18:39
尹桥印 发表于 2013-5-8 22:01
围观大神解答呢。你再好好看看和老师的代码是不是一样呐

我对了一遍是一样的呀
作者: 樊其杰    时间: 2013-5-9 18:40
大神来呀 ,求助怎么回事?
作者: 陈圳    时间: 2013-5-9 18:50
这个我观察过,毕老师是自己在后面敲一个回车...合并流默认是没有换行的.
作者: 丘凤光    时间: 2013-5-9 18:55
你在123 这三个文件的末尾加上回车符  就好了  
读取文件的时候是连回车符一起读取的  你没有回车符当然就不换行了
作者: 樊其杰    时间: 2013-5-9 18:57
陈圳 发表于 2013-5-9 18:50
这个我观察过,毕老师是自己在后面敲一个回车...合并流默认是没有换行的.

好的 谢谢
作者: 樊其杰    时间: 2013-5-9 18:58
丘凤光 发表于 2013-5-9 18:55
你在123 这三个文件的末尾加上回车符  就好了  
读取文件的时候是连回车符一起读取的  你没有回车符当然就 ...

嗯,谢谢你的解答,以后看视频要仔细很多小细节也要注意




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