Javaを実行する環境のテキストファイルのデフォルト文字コードを確認する方法を以下に記します。
テキストファイルのデフォルト文字コードを取得するサンプルソースを以下に記します。
class DefaultFileEncoding { public static void main(String[] args) { System.out.println("os.name: " + System.getProperty("os.name")); System.out.println("file.encoding: " + System.getProperty("file.encoding")); } }
OS名称とデフォルト文字コードを表示するサンプルソースです。
Windows 7とLinuxで動作させた時の出力です。
C:\Users\sakura\work>java DefaultFileEncoding os.name: Windows 7 file.encoding: MS932
$ java DefaultFileEncoding os.name: Linux file.encoding: UTF-8
ちなみにjavaコマンドのオプションで文字コードを指定することが可能です。
C:\Users\sakura\work>java -Dfile.encoding=UTF-8 DefaultFileEncoding os.name: Windows 7 file.encoding: UTF-8
javaコマンドのオプションで-Dを使用します。
オプションの説明は以下の通りです。
$ java -help 使用方法: java [-options] class [args...] (クラスを実行する場合) または java [-options] -jar jarfile [args...] (jarファイルを実行する場合) optionsには次のものがあります。 <省略> -D<name>=<value> システム・プロパティを設定する
上記のヘルプの通り、-Dプロパティ名=値となります。
文字コードを指定しないとファイルが正常に読み込まれないようなプログラムがあった場合は、
javaコマンドの-Dオプションによりデフォルト文字コードを変更することにより、
意図した動作になるかもしれません。
以上、文字コードのデフォルト値を取得する方法でした。