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