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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© java--周群 中级黑马   /  2014-3-13 20:16  /  906 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.SequenceInputStream;
import java.util.Enumeration;
import java.util.Vector;

public class SequenceInputStreamDemo {

        public static void main(String[] args) throws IOException {
               
                FileInputStream fis1 = new FileInputStream("demo1.txt");
                FileInputStream fis2 = new FileInputStream("demo2.txt");
                FileInputStream fis3 = new FileInputStream("demo3.txt");
               
                Vector<FileInputStream> v = new Vector<FileInputStream>();
                v.add(fis1);
                v.add(fis2);
                v.add(fis3);
               
                Enumeration en = v.elements();
               
                SequenceInputStream sis = new SequenceInputStream(en);
               
                FileOutputStream fos = new FileOutputStream("demo13.txt");
               
                byte[] buf = new byte[1024];
               
                int len = 0;
               
                while((len= sis.read())!=-1){

                        fos.write(buf,0,len);
                }
               
                fos.close();
                sis.close();
               
               

        }

}


如上代码,将3个流合并成一个流,最终运行之后,目标文件显示占空间多少字节,但是打开文件,里面什么东西都没有,这是什么原因?

评分

参与人数 1技术分 +1 收起 理由
菜小徐 + 1

查看全部评分

2 个回复

倒序浏览
while((len= sis.read(buf))!=-1){
回复 使用道具 举报
while((len= sis.read())!=-1){

                        fos.write(buf,0,len);
                }

SequenceInputStream的read方法
返回读取字节数read(,,)
public int read(byte[] b,
                int off,
                int len)
         throws IOException
返回int字节read()
public int read()
         throws IOException

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马