Я пытаюсь прочитать файл свойств, в котором есть ключи на английском языке и значения на греческом. Мой код выглядит так:
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
привет = ρήμ. χαιρετώ
Прощальный = επιφ. αντίο
запрос = τι κάνεισ, τι κάνετε
Я собираю как этот javac-кодирование UTF8 CustomClassLoader.java
javac-кодирование UTF8 I18Sample.java
Когда я запускаю это, я получаю искаженный вывод. Если файл свойств на английском, французском или немецком языке, он работает нормально.
Пожалуйста помоги.
С Уважением,
Subhendu