Java7 では Charset の指定がプチ改善されてます

今さらです。細かい話です。


Java7 では NIO.2 として nio パッケージに大きな改善が行われましたが、その影で StandardCharsets なんていうクラスが追加されていたりします。

今まで Charset の指定は、以下のように文字列で指定していました。

Charset.forName("UTF-8")


Java 7 から java.nio.charset.StandardCharsets というクラスが追加され、Charset は static final な定数として、

StandardCharsets.UTF_8

のように指定できます。


まぁ、Standard と名のつく通り、どのようなJava実装環境でも有効な Charset だけが定義されているので、以下だけです。


Windows-31j なんてものはありません。必要な場合は今まで通り、

Charset.forName("Windows-31j")

とする必要があります。