Java CharsetDecoder isCharsetDetected()方法及示例
isCharsetDetected() 方法是 java.nio.charset.CharsetDecoder类 的一个内置方法,它告诉人们这个解码器是否已经检测到了一个字符集。这个方法的默认实现总是抛出一个 UnsupportedOperationException。 它应该被自动检测的解码器重载,以便在确定输入字符集后返回true。
语法:
public boolean isCharsetDetected()
参数 :该函数不接受任何参数。
返回值 :该函数返回一个布尔值,说明这个CharsetDecoder是否已经检测到一个字符集。
异常: 如果这个解码器没有实现自动检测字符集,它会抛出UnsupportedOperationException。
下面是上述函数的实现。
程序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-8859-1");
// Get the CharsetDecoder
CharsetDecoder decoder = charset.newDecoder();
// Prints the CharsetDecoder
System.out.println("CharsetDecoder: " + decoder);
try {
System.out.println("Is Charset yet detected: "
+ decoder.isCharsetDetected());
}
catch (Exception e) {
System.out.println(e);
}
}
}
输出:
CharsetDecoder: sun.nio.cs.ISO_8859_1$Decoder@232204a1
java.lang.UnsupportedOperationException
程序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("Is Charset yet detected: "
+ decoder.isCharsetDetected());
}
catch (Exception e) {
System.out.println(e);
}
}
}
输出:
CharsetDecoder: sun.nio.cs.ext.DoubleByte$Decoder@232204a1
java.lang.UnsupportedOperationException
参考资料: https://docs.oracle.com/javase/9/docs/api/java/nio/charset/CharsetDecoder.html#isCharsetDetected-