2016-09-18 2 views
-3

somefile.txt имеет некоторый ввод, как показано ниже, и newfile.txt пуст.Почему этот простой код генерирует «NoSuchElementException»?

China 
1330044605 
India 
1147995898 
United States 
303824646 

Оба файла находятся на моем рабочем столе.

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

Я исправил формулировку и форматирование вопроса, насколько мог. Главное, что здесь отсутствует, это полное исключение, в том числе трассировка стека и на какой строке это происходит. – smarx

ответ

0

я был в состоянии дублировать вашу проблему, добавив пустую строку в конец someFile.txt.

Это согласованное поведение с документом, зарегистрированным в javadoc.

Броски: NoSuchElementException - если ни одна строка не была найдена проверка

, чтобы убедиться, что у вас нет каких-либо непреднамеренные пробелы в своем входном документе.

Смежные вопросы