Saturday, April 7, 2012

Finding Java Character Set/Encoding in Linux

Hi all,
I have just come to a situation where we want to know about Character set used by Java on Linux Server. So for that I have done some R&D and then find some good code that help me to find or set Character code for Java.

Below is the code. I have commented out the code for updating java Character Set.

1.) Create a file named as
2.) Copy & Paste the code to new created file.
3.) Compile Java source code as :
4.) Then run the compiled program.

[mc26157@ph132704]~$ java CharacterEncodingExample
defaultCharacterEncoding by property: UTF-8
defaultCharacterEncoding by code: UTF8
defaultCharacterEncoding by charSet: UTF-8

import java.nio.charset.Charset;

public class CharacterEncodingExample {

    public static void main(String args[]) throws FileNotFoundException, UnsupportedEncodingException, IOException {
        String defaultCharacterEncoding = System.getProperty("file.encoding");
        System.out.println("defaultCharacterEncoding by property: " + defaultCharacterEncoding);
        System.out.println("defaultCharacterEncoding by code: " + getDefaultCharEncoding());
        System.out.println("defaultCharacterEncoding by charSet: " + Charset.defaultCharset());
 /*       System.setProperty("file.encoding", "UTF-16");
        System.out.println("defaultCharacterEncoding by property after updating file.encoding : " + System.getProperty("file.encoding"));

        System.out.println("defaultCharacterEncoding by code after updating file.encoding : " + getDefaultCharEncoding());

        System.out.println("defaultCharacterEncoding by java.nio.Charset after updating file.encoding : " + Charset.defaultCharset());
    public static String getDefaultCharEncoding(){
        byte [] bArray = {'w'};
        InputStream is = new ByteArrayInputStream(bArray);
        InputStreamReader reader = new InputStreamReader(is);
        String defaultCharacterEncoding = reader.getEncoding();
        return defaultCharacterEncoding;


Kuldeep Sharma