자바 내부화-ResourceBundle 클래스

ResourceBundle 클래스는 로케일에 민감한 텍스트와 객체를 저장하는 데 사용됩니다. 일반적으로 속성 파일을 사용하여 로케일 특정 텍스트를 저장 한 다음 ResourceBundle 객체를 사용하여 표현합니다. 다음은 Java 기반 애플리케이션에서 로케일 특정 특성 파일을 사용하는 단계입니다.

1 단계 : 속성 파일을 만듭니다.

영어 로케일에 대한 특성 파일이 필요하다고 가정하십시오. 그런 다음 속성 파일 이름 XXX_en_US.properties를 만듭니다. 여기서 XXX는 파일 이름이고 en_US는 영어 (미국)의 로캘을 나타냅니다.

Messages_en_US.properties

message=Welcome to TutorialsPoint.COM!

이제 프랑스어 로케일에 대한 속성 파일을 생성 해 보겠습니다. 그런 다음 특성 파일 이름 XXX_fr_FR.properties를 작성하십시오. 여기서 XXX는 파일 이름이고 fr_FR은 프랑스어 (프랑스)의 로케일을 나타냅니다.

Messages_fr_FR.properties

message=Bienvenue sur TutorialsPoint.COM!

여기에서 키가 동일하지만 값이 두 속성 파일 모두에서 로케일에 따라 다르다는 것을 알 수 있습니다.

2 단계 : ResourceBundle 객체 생성

다음 구문을 사용하여 속성 파일 이름 및 로캘이있는 ResourceBundle 개체를 만듭니다.

ResourceBundle bundle = ResourceBundle.getBundle("Messages", Locale.US);

3 단계 : ResourceBundle 객체에서 값을 가져옵니다.

키를 전달하여 ResourceBundle 객체에서 값을 가져옵니다.

String value = bundle.getString("message");

다음 예제는 ResourceBundle 객체를 사용하여 속성 파일의 로케일 특정 값을 표시하는 방법을 보여줍니다.

IOTester.java

import java.util.Locale;
import java.util.ResourceBundle;

public class I18NTester {
   public static void main(String[] args) {
      ResourceBundle bundle = ResourceBundle.getBundle("Messages", Locale.US);  
      System.out.println("Message in "+Locale.US +": "+bundle.getString("message"));  

      bundle = ResourceBundle.getBundle("Messages", Locale.FRANCE);  
      System.out.println("Message in "+Locale.FRANCE +": "+bundle.getString("message"));
   }
}

산출

다음 결과를 인쇄합니다.

Message in en_US: Welcome to TutorialsPoint.COM!
Message in fr_FR: Bienvenue sur TutorialsPoint.COM!

명명 규칙에 대한 참고 사항

다음은 특성 파일의 이름 지정 규칙입니다.

  • 기본 로케일에 맵핑 된 특성 파일의 경우 접 두부가 필수가 아닙니다. message_en_US.properties는 message.properties와 동일합니다.

  • 로케일에 매핑 된 속성 파일의 경우 접두사를 두 가지 방법으로 첨부 할 수 있습니다. message_fr.properties는 message_fr_FR.properties와 동일합니다.

인쇄