CharsetDecoder detectedCharset() method in Java with Examples

The detectedCharset() method is a built-in method of the java.nio.charset.CharsetDecoder class which retrieves the charset that has been detected by this decoder. The default implementation of this method always throws an UnsupportedOperationException. It should be overridden by auto-detecting decoders to return true once the input charset has been determined.

Syntax:

public Charset detectedCharset()

Parameters: The function does not accepts any parameter.



Return Value: The function returns the charset that has been detected by this decoder.

Exception: It throws UnsupportedOperationException if this decoder does not implement an auto-detecting charset and IllegalStateException if insufficient bytes have been read to determine a charset

Below is the implementation of the above function:

Program 1:

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to demonstrate
// the above function
  
import java.nio.charset.*;
import java.util.Iterator;
import java.util.Map;
  
public class GFG {
  
    public static void main(String[] args)
    {
  
        // Gets the charset
        Charset charset = Charset.forName("ISO-2022-CN");
  
        // Get the CharsetDecoder
        CharsetDecoder decoder = charset.newDecoder();
  
        // Prints the CharsetDecoder
        System.out.println("CharsetDecoder: " + decoder);
  
        try {
            System.out.println("detected Charset: "
                               + decoder.detectedCharset());
        }
        catch (Exception e) {
            System.out.println(e);
        }
    }
}

chevron_right


Output:

CharsetDecoder: sun.nio.cs.ext.ISO2022_CN$Decoder@232204a1
java.lang.UnsupportedOperationException

Program 2:

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to demonstrate
// the above function
  
import java.nio.charset.*;
import java.util.Iterator;
import java.util.Map;
  
public class GFG {
  
    public static void main(String[] args)
    {
  
        // Gets the charset
        Charset charset = Charset.forName("x-windows-949");
  
        // Get the CharsetDecoder
        CharsetDecoder decoder = charset.newDecoder();
  
        // Prints the CharsetDecoder
        System.out.println("CharsetDecoder: " + decoder);
  
        try {
            System.out.println("detected Charset: "
                               + decoder.detectedCharset());
        }
        catch (Exception e) {
            System.out.println(e);
        }
    }
}

chevron_right


Output:

CharsetDecoder: sun.nio.cs.ext.DoubleByte$Decoder@232204a1
java.lang.UnsupportedOperationException

Reference: https://docs.oracle.com/javase/9/docs/api/java/nio/charset/CharsetDecoder.html#detectedCharset–




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.