でJavaアプリケーションを実行していますSolaris10 with Chinese
。これで、ディレクトリに中国語のファイル名のファイルがいくつかあります。files = new File(dir).list()
「dir」がその中国語ファイルを含む親ディレクトリである場合、結果のファイル名は?????files[0]
として取得されます。(一部のジャンク文字)。
これで、プログラムのfile.encodingプロパティがすでにGBKに設定されており、これも設定されてCharset.isSupported("GBK")
おり、trueが返されます。では、どこに問題があるのでしょうか。アイデアが足りなくなっています。
注:ファイル名をどこかに印刷したり、ファイルなどをコピーしたりしようとはしていません。私は単にそれにストリームを開いています、以下のようなものです:
files = new File(dir).list();
new FileInputStream(files[0]);
これでFileNotFoundExcpetionが得られるので、files[0]内の値が「??????」であることを確認するためにデバッグします。