アプリケーションはユーザーからファイルを受け取ります。これらのファイルがサポートされているエンコードタイプ(UTF-8、Shift-JIS、EUC-JPなど)である場合は、それらのファイルを検証する必要があります。そのファイルが検証されたら、次のファイルも必要になります。そのファイルをシステムに保存し、そのエンコーディングをメタデータとして保存します。
現在、JCharDet(mozillaの文字検出器のJavaポート)を使用していますが、有効なShift-JIS文字として検出できないように見えるShift-JIS文字がいくつかあります。
他に何が使えるか考えてみませんか?