Javaでサポートされている文字コードは?

JavaシフトJISEUC,UTFなど様々な文字コードに対応しています。異なる文字コードでも、charsetを引数に渡せば簡単に文字コード変換をすることができます。例えば、以下のAPIがそうですよね。

String(byte[] bytes, String charsetName)
InputStreamReader(InputStream in, String charsetName) 

ところが、そのcharset名に何が指定できるのかはどこにも書かれていません。いったい charset には何々指定できるのでしょうか?やみくもに、"ShiftJIS"とか"EUC"と指定してもうまくいきません。困ったことありません?(正しくは、"SJIS","EUC_JP"です)



文字コードは、java.nio.charset.spi.CharsetProvider が提供しています。
SUNの場合、charsets.jarの中に、以下のファイルがあります。
META-INF/services/java.nio.charset.spi.CharsetProvider

# NIO charset SPI extended charset provider
sun.nio.cs.ext.ExtendedCharsets

このクラスの中に文字コードが入っているのですが、おなじパッケージ内にそのクラスがあるのがわかります。文字コード名がそのままクラス名になっています。そのクラス名を指定すれば、該当する文字コードが指定できます。
私の環境(jdk1.5.0)では以下の文字コード名(クラス名)がありました。

Big5
Big5_HKSCS
Big5_Solaris
DBCSDecoderMapping
DBCS_IBM_ASCII_Decoder
DBCS_IBM_ASCII_Encoder
DBCS_IBM_EBCDIC_Decoder
DBCS_IBM_EBCDIC_Encoder
DoubleByteDecoder
DoubleByteEncoder
EUC_CN
EUC_JP
EUC_JP_LINUX
EUC_JP_Open
EUC_KR
EUC_TW
GB18030
GBK
HKSCS
HKSCS_2001
IBM037
IBM1006
IBM1025
IBM1026
IBM1046
IBM1047
IBM1097
IBM1098
IBM1112
IBM1122
IBM1123
IBM1124
IBM1140
IBM1141
IBM1142
IBM1143
IBM1144
IBM1145
IBM1146
IBM1147
IBM1148
IBM1149
IBM1381
IBM1383
IBM273
IBM277
IBM278
IBM280
IBM284
IBM285
IBM297
IBM33722
IBM420
IBM424
IBM437
IBM500
IBM737
IBM775
IBM838
IBM850
IBM852
IBM855
IBM856
IBM857
IBM858
IBM860
IBM861
IBM862
IBM863
IBM864
IBM865
IBM866
IBM868
IBM869
IBM870
IBM871
IBM874
IBM875
IBM918
IBM921
IBM922
IBM930
IBM933
IBM935
IBM937
IBM939
IBM942
IBM942C
IBM943
IBM943C
IBM948
IBM949
IBM949C
IBM950
IBM964
IBM970
ISCII91
ISO2022
ISO2022_CN
ISO2022_CN_CNS
ISO2022_CN_GB
ISO2022_JP
ISO2022_KR
ISO_8859_11
ISO_8859_3
ISO_8859_6
ISO_8859_8
JISAutoDetect
JIS_X_0201
JIS_X_0208
JIS_X_0208_Decoder
JIS_X_0208_Encoder
JIS_X_0208_Solaris_Decoder
JIS_X_0208_Solaris_Encoder
JIS_X_0212
JIS_X_0212_Decoder
JIS_X_0212_Encoder
JIS_X_0212_Solaris_Decoder
JIS_X_0212_Solaris_Encoder
Johab
MS1255
MS1256
MS1258
MS874
MS932
MS932DB
MS936
MS949
MS950
MS950_HKSCS
MacArabic
MacCentralEurope
MacCroatian
MacCyrillic
MacDingbat
MacGreek
MacHebrew
MacIceland
MacRoman
MacRomania
MacSymbol
MacThai
MacTurkish
MacUkraine
PCK
SJIS
SimpleEUCDecoder
SimpleEUCEncoder
TIS_620

多いです。w