Scanner nextLine () Methode

1. Übersicht

In diesem kurzen Tutorial werden wir uns kurz mit der nextLine () -Methode der java.util.Scanner- Klasse befassen , natürlich mit dem Schwerpunkt, zu lernen, wie man sie in der Praxis verwendet.

2. Scanner.nextLine ()

Die nextLine () -Methode der Klasse java.util.Scanner scannt von der aktuellen Position, bis ein Trennzeichen für Zeilentrennzeichen gefunden wird. Die Methode gibt den String von der aktuellen Position bis zum Ende der Zeile zurück.

Folglich wird nach dem Vorgang die Position des Scanners auf den Anfang der nächsten Zeile gesetzt, die auf das Trennzeichen folgt.

Die Methode durchsucht die Eingabedaten nach einem Zeilentrennzeichen. Es werden möglicherweise alle Eingabedaten nach der zu überspringenden Zeile durchsucht, wenn keine Zeilentrennzeichen vorhanden sind.

Die Signatur der nextLine () -Methode lautet:

public String nextLine()

Die Methode akzeptiert keine Parameter. Es gibt die aktuelle Zeile zurück, ausgenommen alle Zeilentrennzeichen am Ende.

Schauen wir uns seine Verwendung an:

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

Wie wir gesehen haben, gibt die Methode die Eingabe von der aktuellen Scannerposition zurück, bis das Zeilentrennzeichen gefunden wird:

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

In dem obigen Beispiel wird der Anruf an next () kehrt ‚S‘ und rückt die Scannerposition zu Punkt ‚c‘ .

Wenn wir die nextLine () -Methode aufrufen, wird daher die Eingabe von der aktuellen Scannerposition zurückgegeben, bis ein Zeilentrennzeichen gefunden wird.

Die nextLine () -Methode löst zwei Arten von geprüften Ausnahmen aus.

Erstens, wenn kein Zeilentrennzeichen gefunden wird, wird NoSuchElementException ausgelöst :

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

Zweitens wird eine IllegalStateException ausgelöst, wenn der Scanner geschlossen wird:

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

3. Fazit

In diesem Artikel haben wir uns mit der nextLine () -Methode der Java- Scannerklasse befasst .

Darüber hinaus haben wir uns die Verwendung in einem einfachen Java-Programm angesehen. Schließlich haben wir uns die Ausnahmen angesehen, die von der Methode ausgelöst werden, und den Beispielcode, der dies veranschaulicht.

Wie immer ist der vollständige Quellcode der Arbeitsbeispiele auf GitHub verfügbar.