In my previous example I have explained how to check if your JVM support the charset used by your application. Java IO package defines java.io.UnsupportedEncodingException as a checked exception for catching it if programmers want to use the charset operation. If the JVM not supports the charset, then you will get the java.io.UnsupportedEncodingException thrown from your application. Lets look at the example where it defines the charset which is not supported in the JVM.
UnsupportedEncodingExample.java
package javabeat.net.io; import java.io.ByteArrayOutputStream; import java.io.UnsupportedEncodingException; import java.nio.charset.Charset; import java.util.Map; /** * UnsupportedEncoding in your JVM Example * * @author krishna * */ public class UnsupportedEncodingExample { public static void main(String[] args){ ByteArrayOutputStream byteout = new ByteArrayOutputStream(10); byteout.write(10); try { String s = byteout.toString("IBM859"); }catch (UnsupportedEncodingException exception){ exception.printStackTrace(); } } }
If you run the above program, you would get the below exception thrown from the application.
Exception…
java.io.UnsupportedEncodingException: IBM859 at java.lang.StringCoding.decode(StringCoding.java:188) at java.lang.String.<init>(String.java:451) at java.io.ByteArrayOutputStream.toString(ByteArrayOutputStream.java:204) at javabeat.net.io.CharSetSupportExample.main(CharSetSupportExample.java:19)