Метод getISOCountries () отображает только две буквы названия страны. Возможно ли получить полное название страны, используя этот метод? - PullRequest
4 голосов
/ 02 марта 2010

Я использовал следующий код, но он отображает только 2 цифры названия страны ISO. Например, для «ИНДИИ» отображается только «IN». Могу ли я показать полное имя как "ИНДИЯ"?

String[] loc= Locale.getISOCountries();
for(int a=0;a<loc.length;a++)
{
    System.out.println("ISO Contry "+a+":"+loc[a]);
}

Я хочу полное название страны ISO. Возможно ли использовать этот метод?

Ответы [ 3 ]

4 голосов
/ 02 марта 2010

Попробуйте использовать метод getDisplayCountry () .

Пример:

import java.util.Locale;

public class Main {

  public static void main(String [] argv) {

    Locale defaultLocale = Locale.getDefault();
    System.out.println(defaultLocale.getDisplayCountry()); // displays United States
  }
}

EDIT: Чтобы получить полный список полных названий стран, я не знаю ни о каких методах. Вместо этого вы можете загрузить этот код ISO 3166 , который содержит отображение полного названия страны на двухбуквенное или двухбуквенное имя ISO 3166, используйте более ранний метод getISOCountries чтобы получить двухбуквенное имя и использовать отображение.

1 голос
/ 02 марта 2010

Здесь мы можем получить только полное имя Locale, доступное в методе getAvailableLocale().

import java.util.*;

public class Locales
{
  public static void main(String[] args)
  {
    Locale[] locales = Locale.getAvailableLocales();
    for(int i = 0; i < locales.length; i++)
    {
      String locale_name = locales[i].getDisplayName();
      System.out.println((i+1)+":"+locale_name);
    }
  }
}
0 голосов
/ 06 февраля 2017

Не нужно скачивать файлы. Вы можете снова создать объект Locale с заданными 2 буквами страны, поэтому вы делаете это:

String[] locales = Locale.getISOCountries();

    for (String countryCode : locales) {

        Locale obj = new Locale("", countryCode);

        System.out.println("Country Code = " + obj.getCountry()
            + ", Country Name = " + obj.getDisplayCountry());

    }
...