In
this post, I am going to explain, how to get the alphabets in all the java
supported languages.
Java
do not provide any APIs, to get the alphabets in all the supported locales. I
am going to use icu4j API to get the alphabets information.
<!-- https://mvnrepository.com/artifact/com.ibm.icu/icu4j
-->
<dependency>
<groupId>com.ibm.icu</groupId>
<artifactId>icu4j</artifactId>
<version>62.1</version>
</dependency>
Below
method prints all the lower case alphabets in given language.
public static String getLowerAlphabets(Locale locale) { if (locale == null) { throw new IllegalArgumentException("locale coudn't be null"); } ULocale ulocale = ULocale.forLocale(locale); UnicodeSet set = LocaleData.getExemplarSet(ulocale, LocaleData.ES_STANDARD); Iterator<String> iterator = set.iterator(); StringBuilder builder = new StringBuilder(); while (iterator.hasNext()) { builder.append(iterator.next()); } return builder.toString(); }
Find
the below working example.
package com.smaple.app.util; import java.util.Iterator; import java.util.Locale; import com.ibm.icu.text.UnicodeSet; import com.ibm.icu.util.LocaleData; import com.ibm.icu.util.ULocale; public class AlphabetUtil { /** * Return lower case alphabets of given locale * * @param locale * @return */ public static String getLowerAlphabets(Locale locale) { if (locale == null) { throw new IllegalArgumentException("locale coudn't be null"); } ULocale ulocale = ULocale.forLocale(locale); UnicodeSet set = LocaleData.getExemplarSet(ulocale, LocaleData.ES_STANDARD); Iterator<String> iterator = set.iterator(); StringBuilder builder = new StringBuilder(); while (iterator.hasNext()) { builder.append(iterator.next()); } return builder.toString(); } /** * Return upper case alphabets of given locale. * * @param locale * @return */ public static String getUpperAlphabets(Locale locale) { return getLowerAlphabets(locale).toUpperCase(locale); } }
Test.java
package com.sample.app; import java.util.Locale; import com.smaple.app.util.AlphabetUtil; public class Test { public static void main(String args[]) { System.out.println(AlphabetUtil.getLowerAlphabets(Locale.ENGLISH)); System.out.println(AlphabetUtil.getUpperAlphabets(Locale.ENGLISH)); } }
Output
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Print all the
language alphabets to a html file
Below
function writes all the alphabets of java supported locales to a file in html
table format.
public static void printToFile(String htmlFilePath) { if (htmlFilePath == null || htmlFilePath.isEmpty()) { htmlFilePath = "out.html"; } StringBuilder builder = new StringBuilder(); builder.append("<html>"); builder.append("<head>\r\n" + "<style>\r\n" + "table, th, td {\r\n" + " border: 1px solid black;\r\n" + "}\r\n" + "</style>\r\n" + "</head>"); builder.append("<body><table style=\"width:100%;text-align:left;background-color:gold;\""); builder.append("<tr><td>Locale</td>"); builder.append("<td>Lower Case Alphabets</td>"); builder.append("<td>Upper Case Alphabets</td></tr>"); Locale[] locales = Locale.getAvailableLocales(); for (Locale locale : locales) { builder.append("<tr><td>" + locale.toString() + "</td>"); builder.append("<td>" + getLowerAlphabets(locale) + "</td>"); builder.append("<td>" + getUpperAlphabets(locale) + "</td></tr>"); } writeDataToFile(htmlFilePath, builder.toString()); }
Find
the below working application.
package com.smaple.app.util; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.UnsupportedEncodingException; import java.util.Iterator; import java.util.Locale; import com.ibm.icu.text.UnicodeSet; import com.ibm.icu.util.LocaleData; import com.ibm.icu.util.ULocale; public class AlphabetUtil { /** * Return lower case alphabets of given locale * * @param locale * @return */ public static String getLowerAlphabets(Locale locale) { if (locale == null) { throw new IllegalArgumentException("locale coudn't be null"); } ULocale ulocale = ULocale.forLocale(locale); UnicodeSet set = LocaleData.getExemplarSet(ulocale, LocaleData.ES_STANDARD); Iterator<String> iterator = set.iterator(); StringBuilder builder = new StringBuilder(); while (iterator.hasNext()) { builder.append(iterator.next()); } return builder.toString(); } /** * Return upper case alphabets of given locale. * * @param locale * @return */ public static String getUpperAlphabets(Locale locale) { return getLowerAlphabets(locale).toUpperCase(locale); } /** * Write all alphabets of java supported locales to a file in html format. * * @param htmlFilePath */ public static void printToFile(String htmlFilePath) { if (htmlFilePath == null || htmlFilePath.isEmpty()) { htmlFilePath = "out.html"; } StringBuilder builder = new StringBuilder(); builder.append("<html>"); builder.append("<head>\r\n" + "<style>\r\n" + "table, th, td {\r\n" + " border: 1px solid black;\r\n" + "}\r\n" + "</style>\r\n" + "</head>"); builder.append("<body><table style=\"width:100%;text-align:left;background-color:gold;\""); builder.append("<tr><td>Locale</td>"); builder.append("<td>Lower Case Alphabets</td>"); builder.append("<td>Upper Case Alphabets</td></tr>"); Locale[] locales = Locale.getAvailableLocales(); for (Locale locale : locales) { builder.append("<tr><td>" + locale.toString() + "</td>"); builder.append("<td>" + getLowerAlphabets(locale) + "</td>"); builder.append("<td>" + getUpperAlphabets(locale) + "</td></tr>"); } writeDataToFile(htmlFilePath, builder.toString()); } private static void writeDataToFile(String htmlFilePath, String data) { File file = new File(htmlFilePath); String encoding = "UTF8"; try (OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(file), encoding)) { writer.write(data); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
Test.java
package com.sample.app; import com.smaple.app.util.AlphabetUtil; public class Test { public static void main(String args[]) { AlphabetUtil.printToFile("localeAlphabets.html"); } }
Run
Test.java, it copies all the alphabets of java supported locales to
‘localeAlphabtes.html’ file.
You may like
No comments:
Post a Comment