检查是否存在提供的区域设置

时间:2012-01-25 10:59:11

标签: java locale resourcebundle

如果提供的语言环境不存在,我需要设置一些默认语言环境。 但我没有得到,如何检查是否存在语言环境。

假设我通过了locale:xyz,而不是检查locale xyz是否存在。

请建议。

3 个答案:

答案 0 :(得分:2)

什么是xyz;它是语言代码,国家/地区代码还是区域设置的其他标识符?

您可以调用java.util.Locale.getAvailableLocales()来获取运行程序的JVM支持的语言环境列表,并进行适当的比较以查明您要查找的语言环境是否在该列表中。

答案 1 :(得分:0)

尝试

if(!"US".equals(Locale.getDefault().getCountry())){
        System.out.println(Locale.getDefault());
        Locale.setDefault(Locale.US);
    }

    System.out.println(Locale.getDefault());

如果不是美国语言环境,则会设置它

答案 2 :(得分:0)

您还可以使用locale.getISO3Language();方法。 如果它抛出MissingResourceException,则该区域设置不可用,否则一切正常。

    final Locale locale = new Locale("xx");
    try {
        locale.getISO3Language();
    } catch (final MissingResourceException ex) {
        throw new IllegalArgumentException("Not a valid locale.");
    }
相关问题