Open In App

CharsetDecoder detectedCharset() method in Java with Examples

Improve
Improve
Like Article
Like
Save
Share
Report

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:




// 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);
        }
    }
}


Output:

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

Program 2:




// 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);
        }
    }
}


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–



Last Updated : 27 Jun, 2019
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads