Метод на скенера nextLine ()

1. Общ преглед

В този бърз урок ще разгледаме накратко метода nextLine () на класа java.util.Scanner , разбира се с фокус върху това как да го използваме на практика.

2. Scanner.nextLine ()

Методът nextLine () на класа java.util.Scanner сканира от текущата позиция, докато намери разделител на разделител на редове. Методът връща String от текущата позиция в края на реда.

Следователно, след операцията, позицията на скенера се задава в началото на следващия ред, който следва разделителя.

Методът ще търси във входните данни, търсейки разделител на редове. Той може да сканира всички входни данни, търсейки линията, която да пропусне, ако няма разделители на редове.

Подписът на метода nextLine () е:

public String nextLine()

Методът не взема параметри. Той връща текущия ред, с изключение на всеки разделител на редове в края.

Нека да разгледаме използването му:

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

Както видяхме, методът връща входа от текущата позиция на скенера, докато се намери разделителят на редове:

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

В горния пример извикването към next () връща 'S' и напредва позицията на скенера, за да сочи към 'c' .

Следователно, когато извикаме метода nextLine () , той връща входа от текущата позиция на скенера, докато намери разделител на редове.

Методът nextLine () изхвърля два типа проверени изключения.

Първо, когато не е намерен разделител на редове, той изхвърля NoSuchElementException :

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

На второ място, изхвърля IllegalStateException, ако скенерът е затворен:

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

3. Заключение

В тази статия до момента разгледахме метода nextLine () на класа на Java Scanner .

Освен това разгледахме използването му в проста Java програма. И накрая, разгледахме изключенията, които се създават от метода и примерния код, илюстриращ това.

Както винаги, пълният изходен код на работещите примери е достъпен в GitHub.