Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

文字コードチェックについて

String str ="文字コード"
OutputStreamWriter out = new OutputStreamWriter(fos, str);

上記の処理を行おうと思いますが、strに文字コード以外のものが入った場合、エラーとなってしまうためstr の文字列がJava プラットフォームで決められた標準名の文字コードであるかチェックを行いたいのですが、チェックするAPIなど方法をご存知の方がいらっしゃいましたらご伝授ください。

7

回答

79645

閲覧

7件の回答

評価

0

なんでそんなチェックが必要なの?

俺なら、strにつまらん文字列が入らないよう、
ロジックを見直せ、と突っ返す。

あくまで必要だってんなら、理由を教えてくれないか。

評価

0

strにはプロパティファイルから取得した値を入れます。
そのため、プロパティファイルに誤った文字コードを指定しまうとそのまま処理が流れエラーになってしまうからです。

評価

0

Charset#isSupported
プロパティファイルが間違えてたら直せばいいじゃない。エラーでいいと思う

評価

0

プロパティファイルのミスなら処理続行できないんでしょうに。

設定ファイルが間違えていたら画面から入力させるの??

評価

0

んなもん、プロパティを直さなきゃならんのだろが。
こけさせときゃいいんだよ。

評価

0

場合によっちゃ、文字コードがどうでも処理を続けねばならないこともあるけどなー。
例えばメールクライアントでのデコードとか。

しかしプロパティで指定する文字コードだったら、普通はExceptionがログに吐かれるようにしておけば事足りる。

評価

0

しさん、ありがとうございます。
解決できました。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。