UTF-8 でエンコードする必要があるバイトがいくつかありますが、ユーザーがテキスト エディターを正しい方法で使用できなかった場合、ISO8859-1 エンコードのテキストが含まれる可能性があります。
InputStreamReader を使用してファイルを読み取ります。
InputStreamReader reader = new InputStreamReader(
new FileInputStream(file), Charset.forName("UTF-8"));
しかし、ユーザーが "ä" のようなウムラウトを使用するたびに、これは ISO8859-1 に格納されたときに無効な UTF-8 であり、InputStreamReader は文句を言わず、プレースホルダー文字を追加します。
これを無効な入力で例外をスローさせる簡単な方法はありますか?