간단한 ResourceBundle 사용법

JDK 1.1부터는 각 로캘에 따라 다른 리소스를 사용하도록 지정할 수 있습니다.
여기에서는 ListResourceBundle 클래스를 사용하는 간단한 예를 보여줍니다.

ResourceBundle을 사용할 때 주의할 점은 다음과 같습니다.

  1. ListResourceBundle에서 상속한 클래스는 반드시 public으로 선언해야 합니다.
  2. ResourceBundle.getBundle() 메쏘드가 리소스를 찾는 방법은
    먼저 번들 클래스를 찾고
    없으면 다음으로 properties 파일을 찾습니다.
    여러 개의 클래스나 properties 파일이 있을 경우 해당 로캘에 가장 가까운 것부터 사용합니다.
  3. 한글이 있을 경우 컴파일할 때 -encoding EUC_KR 을 지정해주는 것이 좋은 습관입니다.
  4. 디지털 유닉스의 JDK 1.2는 한글 로캘에서 제대로 동작하지 않습니다.
    (System.in과 System.out의 기본 로캘이 EUC_KR이 아니라 ASCII7이란 값으로 나타납니다.)
  5. 리소스 클래스로부터 리소스 번들을 찾을 때에는 String 클래스의 인코딩 값이 특별한 처리를 필요로 하지 않지만
    properties 파일에서 읽어올 때에는 ISO8859_1 인코딩으로 간주되어 있으므로 한글 문자열일 경우 별도의 처리가 필요합니다.
    예를 들어
         try {
             String ok =
                 new String(bundle.getString("OKKey").getBytes("8859_1"), "EUC_KR");
         } catch (java.io.UnsupportedEncodingException uee) {
             out.println(uee.toString());
         }

간단한 예제


Tutorial로 돌아가기
Last modified: Wed Jan 12 14:25:59 2000