2017-08-02 1 views
2

Pour une raison quelconque lorsque je tente de numériser un fichier txt, il ne parvient pas à trouver des lignes et provoquant ainsi l'erreur:Java Scanner ne trouve pas la ligne suivante?

java.util.NoSuchElementException: No line found  
    at java.util.Scanner.nextLine(Unknown Source) 

code:

File file = new File("C:\\Users\\kayc0\\Desktop\\CkayBotBets\\mods.txt"); 
Scanner scanner = new Scanner(new FileInputStream (file), "UTF-8"); 

    while(scanner.hasNextLine()){ 
     modsList.add(scanner.nextLine());  
     System.out.println(scanner.nextLine()); 
    } 

Je ne fermez pas le scanner. modsList est une liste que j'essaie d'ajouter chaque ligne pour que je puisse vérifier si un mod existe dans le chat (utilisateur) correspond à un dans la liste, mais l'erreur est sur System.out ...

J'ai vérifié le. Le fichier txt existe avec les éléments suivants:

File f = new File("C:\\Users\\kayc0\\Desktop\\CkayBotBets\\mods.txt"); 

      if(f.exists() && !f.isDirectory()) { 
       System.out.println("file exists"); 
      } 

Quelqu'un at-il une idée de la raison pour laquelle les lignes ne sont pas lues?

contenu: txt

abkayckay 
kayc01 

Merci, toute aide appréciée.

Répondre

5

Vous lisez actuellement deux lignes au lieu d'une, enregistrez la ligne que vous lisez pour l'ajouter à votre liste et afficher avec la même ligne.

while(scanner.hasNextLine()){ 
    String line = scanner.nextLine(); 
    modsList.add(line);  
    System.out.println(line); 
} 
+0

J'ai travaillé, merci! –

3

Vous appelez nextLine tice. Change to:

while(scanner.hasNextLine()){ 
     String value = scanner.nextLine() 
     modsList.add(value);  
     System.out.println(value); 
    }