あらゆる種類のテキストベースの入力を取り込むJava(7 SE)アプリを作成していますが、JREがサポートしていない文字セット/エンコードに遭遇することを懸念しています(たとえば、このアプリはLinuxボックスで実行されますが、すべての主要なOSで生成されたファイルを取り込むなど)。
1つは、サポートされていない文字セット/エンコーディングIOException
に遭遇した場合に(または同様の)をキャッチする方法はありますか?InputStreamReader
そして、複数のエンコーディングを含む入力はどうですか?4つの異なるタイプの入力があるとします。
- 生
java.lang.String
の - プレーンテキスト(
.txt
)ファイル - Word(
.docx
)ファイル - PDFファイル
これらの入力の1つを読み取っていて、複数の(ただしサポートされている)文字エンコードが発生し始めた場合はどうなりますか?JREはこれをネイティブに処理しますか、それとも、それぞれが独自の文字セット/エンコーディングで構成された複数のリーダーが必要ですか?
このような場合、ストリーミング入力を単一の標準化された(UTF-8である可能性が最も高い)セット/エンコーディングに「正規化」できますか?前もって感謝します。