如果此扫描器的输入中还有另一行,则java.util.Scanner类的hasNextLine()方法将返回true。等待输入时,此方法可能会阻塞。扫描仪不会越过任何输入。
用法:
public boolean hasNextLine()
参数:该函数不接受任何参数。
返回值:当且仅当此扫描仪具有另一行输入时,此函数才返回true
异常注意:如果关闭此扫描器,则此函数将引发IllegalStateException。
以下示例程序旨在说明上述功能:
示例1:
// Java program to illustrate the
// hasNextLine() method of Scanner class in Java
// without parameter
import java.util.*;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
String s = "gfg 2 geeks!";
// new scanner with the
// specified String Object
Scanner scanner = new Scanner(s);
// use US locale to interpret Lines in a string
scanner.useLocale(Locale.US);
// iterate till end
while (scanner.hasNextLine()) {
// print what is scanned
System.out.println(scanner.nextLine());
}
// close the scanner
scanner.close();
}
}
输出:
gfg 2 geeks!
示例2:演示异常的程序
// Java program to illustrate the
// hasNextLine() method of Scanner class in Java
// without parameter
import java.util.*;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
try {
String s = "gfg 2 geeks!";
// new scanner with the
// specified String Object
Scanner scanner = new Scanner(s);
// use US locale to interpret Lines in a string
scanner.useLocale(Locale.US);
scanner.close();
// iterate till end
while (scanner.hasNextLine()) {
// print what is scanned
System.out.println(scanner.nextLine());
}
// close the scanner
scanner.close();
}
catch (IllegalStateException e) {
System.out.println("Exception is: " + e);
}
}
}
输出:
Exception is: java.lang.IllegalStateException: Scanner closed