2011-12-11 9 views
0

スキャナにtxtファイルをスキャンさせようとしていますが、アイテムが合計で6アイテム(「=」の前後にあります)をスキャンすると動作します。スキャンしたときに破損します。スキャンした後、値をメインクラスに戻す必要があります。このスキャナで何が問題になっていますか?

public class mainClass { 

public static void main(String[]args) throws FileNotFoundException { 
      load loadery = new load("resources/monsters/human/humanSerf.txt"); 
      load.loader(); 
      String returned= loadery.retrn(); 
      System.out.println(returned); 

    } 
} 

スキャナクラス:

public class load { 
static String name, value,name1,value1,name2, value2,name3,value3,name4,value4,name5,value5; 
    public static void loader(String... aArgs) throws FileNotFoundException { 
    load parser = new load("resources/monsters/human/humanSerf.txt"); 
    parser.processLineByLine(); 
    } 

    public load(String aFileName){ 
    fFile = new File(aFileName); 
    } 


    public final void processLineByLine() throws FileNotFoundException { 

    Scanner scanner = new Scanner(new FileReader(fFile)); 
    try { 

     scanner.useDelimiter("="); 

      name = scanner.next(); 
      value = scanner.next(); 
      name1 = scanner.next(); 
      value1 = scanner.next(); 
      name2 = scanner.next(); 
      value2 = scanner.next(); 
      name3 = scanner.next(); 
      value3 = scanner.next(); 
      name4 = scanner.next(); 
      value4 = scanner.next(); 
      name5 = scanner.next(); 
      value5 = scanner.next(); 

     ; 

    } 
    finally { 

     scanner.close(); 
    } 


    } 


     // PRIVATE 
     private final File fFile; 


     public static String retrn(){ 
     return name+"="+ value+" "+name1+"="+ value1+" "+name2+"="+ value2+" "+name3+"="+ value3+" "+name4+"="+ value4+" "+name5+"="+ value5; 
     } 
     } 

txtファイル:

symbol=HS 
strength=15 
agility=13 
constitution=7 
wisdom=9 
intelligence=5 

私はこの問題を解決するために何ができますか?

これらは

Exception in thread "main" java.util.NoSuchElementException 

at java.util.Scanner.throwFor(Scanner.java:838) 

at java.util.Scanner.next(Scanner.java:1347) 

at load.processLineByLine(load.java:32) 

at load.loader(load.java:8) 

at mainClass.main(mainClass.java:9) 

答えて

0

scanner.useDelimiter(Pattern.compile("[\\r\\n= ]+")); 
+0

を使用してみてくださいがperfectyを働いたエラーです!!!ありがとう –

+1

私はexeptまで3分 –

関連する問題