2013-09-07 4 views
0

Я новичок в Java technology.So я собирался через SequenceInputStreamI попытался ниже код, но я не могу найти точную проблему, любезно нибудь помочьSequenceInputStream не принимает перечисления аргумент

public class SequenceInput { 


public static void main(String[] args) throws IOException { 

    Enumeration e=new MyEnum(); 
    SequenceInputStream sin=new SequenceInputStream(e); 
    DataInputStream din=new DataInputStream(sin); 

    String s=""; 
    while(null !=s) { 
     s=din.readLine(); 

     if(null !=s) { 
      System.out.println(s); 
     } 
    } 
    din.close(); 
//  new Vector().elements(); 




} 


//Enumeration Class 

public class MyEnum implements Enumeration{ 

    InputStream in[]; 
    int i=0; 

    public MyEnum(){ 
    try { 
     in=new InputStream[] {new FileInputStream("src/a1.txt"),new FileInputStream("src/a2.txt"),new FileInputStream("src/a3.txt"),new FileInputStream("src/a4.txt")}; 
    } 
    catch(Exception e) { 

    } 


} 

    @Override 
    public boolean hasMoreElements() { 
     if(in.length<=4) { 
      return true; 
     } 
     else 
     return false; 
    } 

    @Override 
    public Object nextElement() { 

     return in[i++]; 
    } 



} 
} 

В этом строка Enumeration e=new MyEnum(); он показывает - Доступный экземпляр типа SequenceInput не доступен. Должно быть присвоено определение с прилагаемым экземпляром типа SequenceInput (например, x.new A(), где x - пример SequenceInput).

Я не получаю точной проблемы.

Else я использовал new Vector().add(), и он отлично работал с sequenceInputStream. Хотелось узнать о коде выше. Где я делаю ошибку.

Заранее спасибо.

ответ

0

Проверить это

import java.io.DataInputStream; 
import java.io.FileInputStream; 
import java.io.IOException; 
import java.io.InputStream; 
import java.io.SequenceInputStream; 
import java.util.Enumeration; 

public class SequenceInput { 


public static void main(String[] args) throws IOException { 

    Enumeration e=new MyEnum(); 
    SequenceInputStream sin=new SequenceInputStream(e); 
    DataInputStream din=new DataInputStream(sin); 

    String s=""; 
    while(null !=s) { 
     s=din.readLine(); 

     if(null !=s) { 
      System.out.println(s); 
     } 
    } 
    din.close(); 
//  new Vector().elements(); 




} 


//Enumeration Class 

public static class MyEnum implements Enumeration{ 

    InputStream in[]; 
    int i=0; 

    public MyEnum(){ 
    try { 
     in=new InputStream[] {new FileInputStream("src/a1.txt"),new FileInputStream("src/a2.txt"),new FileInputStream("src/a3.txt"),new FileInputStream("src/a4.txt")}; 
    } 
    catch(Exception e) { 

    } 


} 

    @Override 
    public boolean hasMoreElements() { 
     if(in.length<=4) { 
      return true; 
     } 
     else 
     return false; 
    } 

    @Override 
    public Object nextElement() { 

     return in[i++]; 
    } 



} 
} 
1

Чтобы получить доступ к классу, не требовался вмещающих, например, вы должны сделать это static

public static class MyEnum implements Enumeration { 
    ... 
} 
Смежные вопросы