Giriş
Açıklaması şöyle. Java 9'dan sonra UTF-8 olmalı.
Açıklaması şöyle. Java 9'dan sonra UTF-8 olmalı.
When properties files are used as ResourceBundles, the encoding required differs between versions of Java. Up to and including Java 8, these files are required to use ISO-8859-1 encoding.Starting with Java 9, the preferred encoding is UTF-8 for property resource bundles. It might work with ISO-8859-1, but as you can see in the Internationalization Enhancements in JDK 9 documentation, you should consider converting your property resource bundles into UTF-8 encoding.
Eski açıklaması şöyle.. Bundle dosyası ISO-8859-1 kullanılarak oluşturulmalı.
getBundle metodu - resources Dizini Altındaki properties dosyasını okur
Constructing a PropertyResourceBundle instance from an InputStream requires that the input stream be encoded in ISO-8859-1. In that case, characters that cannot be represented in ISO-8859-1 encoding must be represented by Unicode Escapes as defined in section 3.3 of The Java™ Language Specification whereas the other constructor which takes a Reader does not have that limitation.
getBundle metodu - resources Dizini Altındaki properties dosyasını okur
Dosyanın uzantısı olan ".properties" kodda belirtilmez.
Örnek
Mesajı dosyası resources\config\config.properties ise bu metoda "config/config" geçilir. Yani dosya uzantısı kodda kullanılmaz.
Örnek
Mesajı dosyası resources\com\a\b\c\messages.properties ise bu metoda "com.a.b.c.messages" geçilir.
Örnek
Şöyle yaparız. Daha sonra getString() vs gibi metodlarla dosya içeriğine erişilebilir.
String olarak class.getName() verirsek (tüm paket yolu + sınıf ismi) ve sınıfın paketi com.bar.foo.MyFoo ise ve locale İngilizce ise src/main/java/resources/com/bar/foo dizini altında MyFoo_en.properties dosyasını yükler. Locale Türkçe ise MyFoo_tr.properties dosyasını yükler.
getString metodu
Şöyle yaparız.
Örnek
Şöyle yaparız. Daha sonra getString() vs gibi metodlarla dosya içeriğine erişilebilir.
ResourceBundle bundle = ResourceBundle.getBundle("...");
getBundle metodu - string + LocaleString olarak class.getName() verirsek (tüm paket yolu + sınıf ismi) ve sınıfın paketi com.bar.foo.MyFoo ise ve locale İngilizce ise src/main/java/resources/com/bar/foo dizini altında MyFoo_en.properties dosyasını yükler. Locale Türkçe ise MyFoo_tr.properties dosyasını yükler.
getString metodu
Şöyle yaparız.
String str = bundle.getString("content");
Hiç yorum yok:
Yorum Gönder