java에서 사용되는 properties 파일의 내용을 읽어올수 있다. ResourceBundle클래스는 국제화를 지원하기 Locale 파일 규칙을 이용해서 파일명을 사용할 수 있다.
properties 파일은 getBundle 메소드에 의해 객체로 전환이 된다. 따라서,크랠스 파일과 같이 위치를 추적할 수 있다. 만약 “server.properties” 라는 파일이 classes 폴더 밑에 conf 라는 폴더 아래 있다면 “conf.server.properties” 로 해서 찾을 수 있다.
위치 : web-inf/classes/conf/server.properties
ResourceBundle bundle = ResourceBundle.getBundle(“conf.server.properties”);
Enumeration enum = bundle.getKeys();
for(; enum.hasMoreElements();){
String value = bundle.getString((String) enum.nextElement());
out.println(“value : ” + value);
}
properties 파일에서 특정 키의 값을 가져오는 방법은 다음과 같다.
…
ResourceBundle bundle = ResourceBundle.getBundle(“server.properties”);
String value = bundle.getString(“키이름”);
ResourceBundle 을 이용해서 다국어를 지원하는 properties 파일을 읽어 들이는 방법은 Locale 파일 규칙을 이용하는 것이다. 파일의 이름이 “Server” 이고, 언어가 “ko”, 지역코드가 “KO” 일 경우에 파일 이름은 다음과 같이 된다.
“Server_ko_KR.properties”
다음은 조합가능한 properties 파일 명이다. ResourceBundle 은 지정된 파일이 없는 경우 다음의 순서대로 파일을 검색한다.
baseclass + “_” + language1 + “_” + country1 + “_” + variant1
baseclass + “_” + language1 + “_” + country1 + “_” + variant1 + “.properties”
baseclass + “_” + language1 + “_” + country1
baseclass + “_” + language1 + “_” + country1 + “.properties”
baseclass + “_” + language1
baseclass + “_” + language1 + “.properties”
baseclass + “_” + language2 + “_” + country2 + “_” + variant2
baseclass + “_” + language2 + “_” + country2 + “_” + variant2 + “.properties”
baseclass + “_” + language2 + “_” + country2
baseclass + “_” + language2 + “_” + country2 + “.properties”
baseclass + “_” + language2
baseclass + “_” + language2 + “.properties”
baseclass
baseclass + “.properties”
현재 디폴트 로케일이 en_US 이고, 호출측에서 얻고자 하는 로케일이 fr_CH, 자원명이 MyResource 인 경우에 ResourceBundle 클래스는 다음의 순서로 검색을 한다.
MyResource_fr_CH
MyResource_fr_CH.properties
MyResource_fr
MyResource_fr.properties
MyResource_en_US
MyResource_en_US.properties
MyResource_en
MyResource_en.properties
MyResource
MyResource.properties
해당하는 파일을 찾을 수 없는 경우 MissingResourceException 이 발생한다.
'프로그램 > Java' 카테고리의 다른 글
[Eclipse] 이클립스 기본 글꼴을 변경해서 한글을 잘 보이도록 하자 (0) | 2014.02.13 |
---|---|
java.text.SimpleDateFormat (0) | 2014.02.10 |
properties 파일을 읽어 들이고 저장하기 (0) | 2014.02.08 |
Access restriction: The type Resource is not accessible due to restriction on required library (0) | 2014.02.07 |
equals()메소드 사용시 NullPointerException 이 발생하는 경우 (0) | 2014.02.04 |