title: How to get all Java supported Locales
body: <p>When Google you will find lot of materials to find all the supported Locales by Java. But its all confusing. </p>
  
  <p>For example [http://sanjaal.com/java/tag/java-locale-tutorial/] show an output of 210 locales. But when I run the same program I get only 155. I don;t get for example ta_IN. si_LK is not output by any program. </p>
  
  <p>Can someone please clear the air?</p>
  
  <p>I use JDK/JRE 1.7</p>
  
  <p><a href="http://www.oracle.com/technetwork/java/javase/javase7locales-334809.html" rel="nofollow">http://www.oracle.com/technetwork/java/javase/javase7locales-334809.html</a> gives 111 entries.</p>
  
  <p>I have a Spring Application which supports i18n and our customers can put their own localisations. What I am trying to do is to provide a list of all locales for them to select their one from.</p>
  
  <p>Oh! this is confusing. Local.getISOCountries() provide LK as a country and Locale.getISOLanguages(); provide si as a language .... but si_LK which is a valid locale is not given in Locale.getAvailableLocales();</p>