2

有没有办法找出是否支持编码?例如。像这样的方法:

isSupported("UTF-8") == true

isSupported("UTF-13") == false

我需要这个来验证我的 MimeMessages 的 Content-Disposition-Header 是否正确。

4

2 回答 2

11

尝试以下操作:

Charset.isSupported("UTF-8")

当名称为或名称无效时,此方法可能会抛出RuntimeExceptions 。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 回答