转换为枚举时出错

时间:2015-12-12 04:37:35

标签: java

我正在尝试将4个文件合并为一个文件,使用SequenceInputStreamLinkedList作为数据结构。

我的错误是

  

线程中的异常" main" java.lang.ClassCastException:   java.io.FileInputStream无法强制转换为java.util.Enumeration at   faizal.Address.main(Address.java:21)

import java.io.*;

import java.util.*;



public class Address{
    public static void main(String[] args) throws Exception {
        FileInputStream f1 = new FileInputStream("E://Ass.java");
        FileInputStream f2 = new FileInputStream("E://Ass1.java");
        FileInputStream f3 = new FileInputStream("E://abc.txt");
        FileInputStream f4 = new FileInputStream("E://ad.txt");
        LinkedList al = new LinkedList();
        al.add(f1);
        al.add(f2);
        al.add(f3);
        al.add(f4);
        Collections.synchronizedList(al);
        Enumeration e = (Enumeration) al.element();
        SequenceInputStream sq = new SequenceInputStream((Enumeration<? extends InputStream>) al);
        int i = 0;
        while((i=sq.read())!=-1){
            System.out.print((char)i);
        }


    }
}

1 个答案:

答案 0 :(得分:0)

如果我理解你的目标:你有4个文件,你想要连接。文件内部格式并不重要。你使用的方式是无用的(原文如此),并且无法工作,因为你的程序无法猜测内在的内容。

然后,只是:

  • 阅读每一篇:

Reading a plain text file in Java

  • 我认为它是texte(txt,java):只需附加到String,然后一次性写入文件,如下所示:

How do I create a file and write to it in Java?

  • 或者,编写每个,然后附加到文件

How to append text to an existing file in Java