2016-09-18 2 views
-3

somefile.txt hat einige Eingaben wie unten, und newfile.txt ist leer.Warum würde dieser einfache Code "NoSuchElementException" auslösen?

China 
1330044605 
India 
1147995898 
United States 
303824646 

Beide Dateien befinden sich auf meinem Desktop.

public class NextMethod { 

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

     File inputFile = new File("/home/cyn/Desktop/somefile.txt"); 
     Scanner in = new Scanner(inputFile); 
     PrintWriter writer = new PrintWriter("/home/cyn/Desktop/newfile.txt"); 


     while (in.hasNextLine()) { 

      String coName = in.nextLine(); 
      int peopCo = in.nextInt(); 
      in.nextLine(); 
      writer.println(coName); 
      writer.println(peopCo); 

     } 

     in.close(); 
     writer.close(); 

    } 

} 
+0

Ich habe Ihre Frage Formulierung und Formatierung so gut wie möglich behoben. Die andere wichtige Sache, die hier fehlt, ist die vollständige Ausnahme, einschließlich des Stack-Trace und auf welcher Zeile es auftritt. – smarx

Antwort

0

konnte ich Ihr Problem duplizieren, indem Sie eine leere Zeile am Ende der someFile.txt Zugabe.

Dies ist konsistent Verhalten, was in der javadoc dokumentiert ist.

Wirft: NoSuchElementException - wenn keine Linie

überprüfen, um sicherzustellen Sie haben keine unbeabsichtigten Leerzeichen in Ihrem Eingabedokument gefunden wurde.