2
respostas

Não pode usar certas referências no while ?

Por que não posso usar uma referência para o método .hasNextLine() no while sem que apresente uma Exception ? Exemplo:

public static void main(String[] args) {

            Scanner scanner = new Scanner(new File("contas.csv"));
            boolean tem= scanner.hasNextLine
  ->        while(tem) {
                 String linha = scanner.nextLine();
                 System.out.println(linha);
            }

            scanner.close();

    }

}

A Exception que se apresenta é:

Exception in thread "main" java.util.NoSuchElementException: No line found at java.util.Scanner.nextLine(Unknown Source) at br.com.Leitura.Java.io.Testes.LeituraScanner.main(LeituraScanner.java:18)

2 respostas

Ygor esse erro foi antes do while na hora de encontrar o arquivo e ler a linha

Mas, Guilherme, por que se eu colocar, ao invés de uma referência, um método, resolve o problema ?

Tipo:

/  boolean tem= scanner.hasNextLine();

   while(scanner.hasNextLine()){
      String linha= scanner.nextLine();
      System.out.println(linha);
   }

   scanner.close();
}