以下のコードで、 EUC-JP でエンコードされたファイル euc-jp.txt の内容は
正しく行われるので、エンコーディングの自動判別が効いているのだと思うんですけど、
処理が終わった後で実際に検出したエンコーディングを取得しようとしても
isCharsetDetected() が true とならずに取得できません。
Windows XP + java version "1.5.0_08" でテストしています。

CharsetDecoder decoder = Charset.forName("x-JISAutoDetect").newDecoder();
InputStreamReader reader = new InputStreamReader(new FileInputStream("euc-jp.txt"),decoder);
for(;;)
{
int c = reader.read();
if(c == -1) break;
System.out.print((char)c);
}
String encoding = "???";
if(decoder.isAutoDetecting() && decoder.isCharsetDetected())
{
encoding = decoder.detectedCharset().name();
}
System.out.println("----");
System.out.println("encoding: " + encoding);

コードに問題があるのでしょうか?

もしくは、自動判別された実際のエンコーディングを取得する方法が
他にあれば教えてください。