Scanner nextLine (), méthode

1. Vue d'ensemble

Dans ce rapide tutoriel, nous examinerons brièvement la méthode nextLine () de la classe java.util.Scanner , bien sûr, avec pour objectif d'apprendre à l'utiliser dans la pratique.

2. Scanner.nextLine ()

La méthode nextLine () de la classe java.util.Scanner analyse à partir de la position actuelle jusqu'à ce qu'elle trouve un séparateur de ligne. La méthode renvoie la chaîne de la position actuelle à la fin de la ligne.

Par conséquent, après l'opération, la position du scanner est mise au début de la ligne suivante qui suit le délimiteur.

La méthode recherchera dans les données d'entrée à la recherche d'un séparateur de ligne. Il peut balayer toutes les données d'entrée à la recherche de la ligne à sauter si aucun séparateur de ligne n'est présent.

La signature de la méthode nextLine () est:

public String nextLine()

La méthode ne prend aucun paramètre. Il renvoie la ligne actuelle, à l'exclusion de tout séparateur de ligne à la fin.

Regardons son utilisation:

try (Scanner scanner = new Scanner("Scanner\nTest\n")) { assertEquals("Scanner", scanner.nextLine()); assertEquals("Test", scanner.nextLine()); }

Comme nous l'avons vu, la méthode renvoie l'entrée à partir de la position actuelle du scanner jusqu'à ce que le séparateur de ligne soit trouvé:

try (Scanner scanner = new Scanner("Scanner\n")) { scanner.useDelimiter(""); scanner.next(); assertEquals("canner", scanner.nextLine()); }

Dans l'exemple ci-dessus, l'appel à next () renvoie «S» et avance la position du scanner pour pointer vers «c» .

Par conséquent, lorsque nous appelons la méthode nextLine () , elle renvoie l'entrée à partir de la position actuelle du scanner jusqu'à ce qu'elle trouve un séparateur de ligne.

La méthode nextLine () lève deux types d'exceptions vérifiées.

Premièrement, lorsqu'aucun séparateur de ligne n'est trouvé, il lance NoSuchElementException :

@Test(expected = NoSuchElementException.class) public void whenReadingLines_thenThrowNoSuchElementException() { try (Scanner scanner = new Scanner("")) { scanner.nextLine(); } }

Deuxièmement, il lève IllegalStateException si le scanner est fermé:

@Test(expected = IllegalStateException.class) public void whenReadingLines_thenThrowIllegalStateException() { Scanner scanner = new Scanner(""); scanner.close(); scanner.nextLine(); }

3. Conclusion

Dans cet article précis, nous avons examiné la méthode nextLine () de la classe Scanner de Java .

De plus, nous avons examiné son utilisation dans un programme Java simple. Enfin, nous avons examiné les exceptions levées par la méthode et l'exemple de code qui l'illustre.

Comme toujours, le code source complet des exemples de travail est disponible à l'adresse over sur GitHub.