黑马程序员技术交流社区

标题: 提示第19行需要标识符 [打印本页]

作者: 黑马李刚    时间: 2011-9-6 23:27
标题: 提示第19行需要标识符
[code=java]    import java.util.*;
    import java.io.*;
        class L
    {
         public static void main(String args[]) throws IOException
         {
                 //向ArrayList加入三个流对象
                 ArrayList<FileInputStream> al=new ArrayList<FileInputStream>();
                 for(int x=0;x<20;x++)
                 {
                         al.add(new FileInputStream(""+x+".part"));
                 }


                 //做一个枚举,并传入SequenceInputStream的构造函数中
                 Iterator<FileInputStream> it=al.iterator();
                 Enumeration<FileInputStream> en=new Enumeration<FileInputStream>()
                 {
                         pubic boolean hashMoreElements()
                         {
                                 return it.hasNext();
                         }
                         public FileInputStream nexElement()
                         {
                                 return it.next();
                         }
                 };
                 SequenceInputStream sis=new SequenceInputStream(en);
                 //以上是是第一部分,目的是将三个流合并成一个流



                 FileOutputStream fos=new FileOutputStream("er.avi");
                 byte[] buf=new byte[1024*1024];
                 int ch=0;
                 while((ch=sis.read(buf))!=-1)
                 {
                         fos.write(buf,0,ch);
                 }


                 fos.close();
                 sis.close();
         }
        }[/code]代码大意:将三个文件(1.part; 2.part; 3.part)合并成一个文件(er.avi)。
[ 本帖最后由 黑马李刚 于 2011-09-06  23:29 编辑 ]
作者: 匿名    时间: 2011-9-6 23:41
标题: 回复 楼主 的帖子
pubic boolean hashMoreElements(){
         return it.hasNext();
}

public FileInputStream nexElement(){
         return it.next();
}
这两个方法都写错了。应该是下面这两个,要注意啊。写错了,不是实现接口,会报错。
               @Override
                public boolean hasMoreElements() {
                        return false;
                }
                @Override
                public FileInputStream nextElement() {
                        return null;
                }
作者: 匿名    时间: 2011-9-7 00:43
hasMoreElements
boolean hasMoreElements()
测试此枚举是否包含更多的元素。
当且仅当此枚举对象至少还包含一个可提供的元素时,才返回 true;否则返回 false。
nextElement
E nextElement()如果此枚举对象至少还有一个可提供的元素,则返回此枚举的下一个元素。
如果没有更多的元素存在,抛出NoSuchElementException。
作者: 匿名    时间: 2011-9-8 10:21
我只是把它放到eclipse里面,三个单词拼写错
public boolean hasMoreElements()
                         {
                                 return it.hasNext();
                         }
                         public FileInputStream nextElement()
另外it要想在内部内使用,需要被定义成final
final Iterator<FileInputStream> it=al.iterator();
没有细看,有没有其他问题不清楚




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