【初心者】Java質問・相談スレッド92【大歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0191デフォルトの名無しさん
2006/10/05(木) 06:29:59正しく行われるので、エンコーディングの自動判別が効いているのだと思うんですけど、
処理が終わった後で実際に検出したエンコーディングを取得しようとしても
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);
コードに問題があるのでしょうか?
もしくは、自動判別された実際のエンコーディングを取得する方法が
他にあれば教えてください。
■ このスレッドは過去ログ倉庫に格納されています