2

エンコーディングがサポートされているかどうかを確認する方法はありますか? 例)このような方法:

isSupported("UTF-8") == true

isSupported("UTF-13") == false

MimeMessages の Content-Disposition-Header が正しいかどうかを検証するためにこれが必要です。

4

2 に答える 2

11

次のことを試してください。

Charset.isSupported("UTF-8")

このメソッドは、名前が である場合、または名前が無効なRuntimeException場合に sをスローすることがあります。null

于 2013-07-08T10:00:26.610 に答える
6
boolean isCharsetSupported(String name) {
  try {
    Charset.forName(name);
    return true;
  } catch (UnsupportedCharsetException | IllegalCharsetNameException | IllegalArgumentException e) {
    return false;
  }
}

またはtry/catchブロックなし:

boolean isCharsetSupported(String name) {
    return Charset.availableCharsets().keySet().contains(name);
}
于 2013-07-08T09:57:07.267 に答える