I am trying to read from a properties file which have keys in English & values in greek.My code is like this:
public class I18NSample {
static public void main(String[] args) {
String language;
String country;
if (args.length != 2) {
language = new String("el");
country = new String("GR");
} else {
language = new String(args[0]);
country = new String(args[1]);
}
Locale currentLocale;
ResourceBundle messages;
currentLocale = new Locale(language, country);
messages =
ResourceBundle.getBundle("MessagesBundle",currentLocale, new CustomClassLoader("E:\\properties"));
System.out.println(messages.getString("greetings"));
System.out.println(messages.getString("inquiry"));
System.out.println(messages.getString("farewell"));
}
}
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
public class CustomClassLoader extends ClassLoader {
private String path;
public CustomClassLoader(String path) {
super();
this.path = path;
}
@Override
protected URL findResource(String name) {
File f = new File(path + File.separator + name);
try {
return f.toURL();
} catch (MalformedURLException e) {
e.printStackTrace();
}
return super.findResource(name);
}
}
MessagesBundle_el_GR.properties greetings=ρήμ. χαιρετώ farewell=επιφ. αντίο
inquiry=τι κάνεισ, τι κάνετε
I am compiling like this javac -encoding UTF8 CustomClassLoader.java javac -encoding UTF8 I18Sample.java
When I run this I get garbled output.If the properies file is in English,French or German it works fine. Please help. Regards, Subhendu