Java Scanner useLocale() Method



Description

The Java Scanner useLocale(Locale locale) method sets this scanner's locale to the specified locale.

Declaration

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

public Scanner useLocale(Locale locale)

Parameters

locale − A string specifying the locale to use

Return Value

This method returns this scanner

Exception

NA

Setting Locale of a Scanner on a String Example

The following example shows the usage of Java Scanner useLocale(Locale locale) method to use a locale for scanner. We've created a scanner object using a given string. We've printed a line using nextLine() method and then set a locale to print it. Then scanner is closed using close() method.

package com.tutorialspoint;

import java.util.Scanner;
import java.util.Locale;
import java.util.regex.Pattern;

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

      String s = "Hello World! 3 + 3.0 = 6.0 true ";

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

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

      // change the locale of this scanner
      scanner.useLocale(Locale.ENGLISH);

      // display the new locale
      System.out.println(scanner.locale());

      // 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.0 true 
en

Setting Locale of a Scanner on User Input Example

The following example shows the usage of Java Scanner useLocale(Locale locale) method to use a locale of scanner. We've created a scanner object using System.in class. We've printed a line using nextLine() method and then set a locale to print it. Then scanner is closed using close() method.

package com.tutorialspoint;

import java.util.Locale;
import java.util.Scanner;

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

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

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

      // change the locale of this scanner
      scanner.useLocale(Locale.ENGLISH);

      // display the new locale
      System.out.println(scanner.locale());

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

Output

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

Hello World
Hello World
en

Setting Locale of a Scanner on a Properties File Example

The following example shows the usage of Java Scanner useLocale(Locale locale) method to set a locale for scanner. We've created a scanner object using properties.txt file. We've printed a line using nextLine() method and then set a locale to print it. Then scanner is closed using close() method.

package com.tutorialspoint;

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Locale;
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 a line of the scanner
      System.out.println(scanner.nextLine());

      // change the locale of this scanner
      scanner.useLocale(Locale.ENGLISH);

      // display the new locale
      System.out.println(scanner.locale());

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