Java Scanner tokens() Method



Description

The java Scanner tokens() method returns a stream of delimiter-separated tokens from this scanner. The stream contains the same tokens that would be returned, starting from this scanner's current state, by calling the next() method repeatedly until the hasNext() method returns false. The resulting stream is sequential and ordered. All stream elements are non-null.

Declaration

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

public Stream<String> tokens()

Parameters

NA

Return Value

This method returns the BigDecimal scanned from the input

Exception

  • InputMismatchException − if the next token does not match the Decimal regular expression, or is out of range

  • NoSuchElementException − if the input is exhausted

  • IllegalStateException − if this scanner is closed

Getting Stream of Tokens of a Scanner on a String Example

The following example shows the usage of Java Scanner tokens() method to get a stream of tokens scanned. We've created a scanner object using a given string. Then we get the stream of tokens using tokens() method and iterated them to print. In the end scanner is closed using close() method.

package com.tutorialspoint;

import java.util.Scanner;
import java.util.stream.Stream;

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

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

      // create a new scanner with the specified String Object
      Scanner scanner = new Scanner(s);
      
      Stream<String&t; tokens = scanner.tokens();
      
      tokens.forEach(t -> System.out.println(t));

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

Output

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

Hello
World!
3
+
3.0
=
6

Getting Stream of Tokens of a Scanner on User Input Example

The following example shows the usage of Java Scanner tokens() method to get a stream of tokens scanned. We've created a scanner object using a System.in class. Then we get the stream of tokens using tokens() method and iterated them to print. In the end scanner is closed using close() method.

package com.tutorialspoint;

import java.util.Scanner;
import java.util.stream.Stream;

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

      // create a new scanner with the System input
      Scanner scanner = new Scanner(System.in);
      
      Stream<String&t; tokens = scanner.tokens();
      
      tokens.forEach(t -> System.out.println(t));

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

Output

Let us compile and run the above program, this will produce the following result − (We've entered Hello World.)

Hello World
Hello
World

Getting Stream of Tokens of a Scanner on Properties File Example

The following example shows the usage of Java Scanner tokens() method to get a stream of tokens scanned. We've created a scanner object using a file properties.txt. Then we get the stream of tokens using tokens() method and iterated them to print. In the end scanner is closed using close() method.

package com.tutorialspoint;

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

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"));
         
      Stream<String&t; tokens = scanner.tokens();
      
      tokens.forEach(t -> System.out.println(t));

      // 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
java_util_scanner.htm
Advertisements