Java Scanner hasNextLine() Method



Description

The Java Scanner hasNextLine() method returns true if there is another line in the input of this scanner. This method may block while waiting for input. The scanner does not advance past any input.

Declaration

Following is the declaration for java.util.Scanner.hasNextLine() method

public boolean hasNextLine()

Parameters

NA

Return Value

This method returns true if and only if this scanner has another line of input

Exception

IllegalStateException − if this scanner is closed

Checking Next Line being Present Using Scanner on a String Example

The following example shows the usage of Java Scanner hasNextLine() method to check if next line is present or not. We've created a scanner object using a given string. Then we print a line and then made a check using hasNextLine() if more data is present or not. once lines are finished, hasNextLine() returns false. In the end scanner is closed using close() method.

package com.tutorialspoint;

import java.util.Scanner;

public class ScannerDemo {
   public static void main(String[] args) {

      String s = "Hello World! \n 3 + 3.0 = 6 ";

      // create a new scanner with the specified String Object
      Scanner scanner = new Scanner(s);

      // print the next line
      System.out.println(scanner.nextLine());

      // check if there is a next line again
      System.out.println(scanner.hasNextLine());

      // print the next line
      System.out.println(scanner.nextLine());

      // check if there is a next line again
      System.out.println(scanner.hasNextLine());

      // close the scanner
      scanner.close();
   }
}

Output

Let us compile and run the above program, this will produce the following result −

Hello World! 
true
 3 + 3.0 = 6 
false

Checking Next Line being Present Using Scanner on User Input Example

The following example shows the usage of Java Scanner hasNextLine() method to check if next line is present or not. We've created a scanner object using System.in. Then we print a line and then made a check using hasNextLine() if more data is present or not. once lines are finished, hasNextLine() returns false. In the end scanner is closed using close() method.

package com.tutorialspoint;

import java.util.Scanner;

public class ScannerDemo {
   public static void main(String[] args) {

      // create a new scanner with the System Input
      Scanner scanner = new Scanner(System.in);

      // print the next line
      System.out.println(scanner.nextLine());

      // check if there is a next line again
      System.out.println(scanner.hasNextLine());

      // close the scanner
      scanner.close();
   }
}

Output

Let us compile and run the above program, this will produce the following result − (where we've entered Hello World and pressed enter and then typed Bye and pressed enter.)

Hello World
Hello World
Bye
true

Checking Next Line being Present Using Scanner On a Properties File Example

The following example shows the usage of Java Scanner hasNextLine() method to check if next line is present or not. We've created a scanner object using a file properties.txt. Then we checked each line using hasNextLine() method and printed. In the end scanner is closed using close() method.

package com.tutorialspoint;

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class ScannerDemo {
   public static void main(String[] args) throws FileNotFoundException {

      // create a new scanner with a file as input
      Scanner scanner = new Scanner(new File("properties.txt"));

      // print the next line
      System.out.println(scanner.nextLine());

      // check if there is a next line again
      System.out.println(scanner.hasNextLine());

      // close the scanner
      scanner.close();
   }
}

Assuming we have a file properties.txt available in your CLASSPATH, with the following content. This file will be used as an input for our example program −

Hello World! 3 + 3.0 = 6

Output

Let us compile and run the above program, this will produce the following result −

Hello World! 3 + 3.0 = 6
false
java_util_scanner.htm
Advertisements