ResourceBundle.GetBundle 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
오버로드
GetBundle(String) |
지정된 기본 이름, 기본 로캘 및 호출자의 클래스 로더를 사용하여 리소스 번들을 가져옵니다. |
GetBundle(String, Locale) |
지정된 기본 이름 및 로캘 및 호출자의 클래스 로더를 사용하여 리소스 번들을 가져옵니다. |
GetBundle(String, ResourceBundle+Control) |
지정된 기본 이름, 기본 로캘 및 호출자의 클래스 로더를 사용하여 리소스 번들을 가져옵니다. |
GetBundle(String, Locale, ClassLoader) |
지정된 기본 이름, 로캘 및 클래스 로더를 사용하여 리소스 번들을 가져옵니다. |
GetBundle(String, Locale, ResourceBundle+Control) |
지정된 기본 이름, 기본 로캘 및 호출자의 클래스 로더를 사용하여 리소스 번들을 가져옵니다. |
GetBundle(String, Locale, ClassLoader, ResourceBundle+Control) |
지정된 기본 이름, 기본 로캘 및 호출자의 클래스 로더를 사용하여 리소스 번들을 가져옵니다. |
GetBundle(String)
지정된 기본 이름, 기본 로캘 및 호출자의 클래스 로더를 사용하여 리소스 번들을 가져옵니다.
[Android.Runtime.Register("getBundle", "(Ljava/lang/String;)Ljava/util/ResourceBundle;", "")]
public static Java.Util.ResourceBundle? GetBundle (string? baseName);
[<Android.Runtime.Register("getBundle", "(Ljava/lang/String;)Ljava/util/ResourceBundle;", "")>]
static member GetBundle : string -> Java.Util.ResourceBundle
매개 변수
- baseName
- String
리소스 번들의 기본 이름, 정규화된 클래스 이름
반환
지정된 기본 이름 및 기본 로캘에 대한 리소스 번들
- 특성
예외
찾을 ResourceBundle
수 없으면
설명
지정된 기본 이름, 기본 로캘 및 호출자의 클래스 로더를 사용하여 리소스 번들을 가져옵니다. 이 메서드를 호출하는 것은 blockquote, </blockquotegetBundle(baseName, Locale.getDefault(), this.getClass().getClassLoader())
>를 호출하는 <것과 같습니다.>
에 대한 java.util.ResourceBundle.getBundle(java.lang.String)
Java 설명서
이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.
적용 대상
GetBundle(String, Locale)
지정된 기본 이름 및 로캘 및 호출자의 클래스 로더를 사용하여 리소스 번들을 가져옵니다.
[Android.Runtime.Register("getBundle", "(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/ResourceBundle;", "")]
public static Java.Util.ResourceBundle? GetBundle (string? baseName, Java.Util.Locale? locale);
[<Android.Runtime.Register("getBundle", "(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/ResourceBundle;", "")>]
static member GetBundle : string * Java.Util.Locale -> Java.Util.ResourceBundle
매개 변수
- baseName
- String
리소스 번들의 기본 이름, 정규화된 클래스 이름
- locale
- Locale
리소스 번들을 원하는 로캘
반환
지정된 기본 이름 및 로캘에 대한 리소스 번들
- 특성
예외
리소스 번들을 찾을 수 없으면 입니다.
설명
지정된 기본 이름 및 로캘 및 호출자의 클래스 로더를 사용하여 리소스 번들을 가져옵니다. 이 메서드를 호출하는 것은 blockquote, </blockquotegetBundle(baseName, locale, this.getClass().getClassLoader())
>를 호출하는 <것과 같습니다.>
에 대한 java.util.ResourceBundle.getBundle(java.lang.String, java.util.Locale)
Java 설명서
이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.
적용 대상
GetBundle(String, ResourceBundle+Control)
지정된 기본 이름, 기본 로캘 및 호출자의 클래스 로더를 사용하여 리소스 번들을 가져옵니다.
[Android.Runtime.Register("getBundle", "(Ljava/lang/String;Ljava/util/ResourceBundle$Control;)Ljava/util/ResourceBundle;", "")]
public static Java.Util.ResourceBundle? GetBundle (string? baseName, Java.Util.ResourceBundle.Control? control);
[<Android.Runtime.Register("getBundle", "(Ljava/lang/String;Ljava/util/ResourceBundle$Control;)Ljava/util/ResourceBundle;", "")>]
static member GetBundle : string * Java.Util.ResourceBundle.Control -> Java.Util.ResourceBundle
매개 변수
- baseName
- String
리소스 번들의 기본 이름, 정규화된 클래스 이름
- control
- ResourceBundle.Control
액세스 시퀀스를 제어하는 컨트롤
반환
지정된 기본 이름 및 기본 로캘에 대한 리소스 번들
- 특성
설명
에 대한 java.util.ResourceBundle.getBundle(java.lang.String)
Java 설명서
이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.
적용 대상
GetBundle(String, Locale, ClassLoader)
지정된 기본 이름, 로캘 및 클래스 로더를 사용하여 리소스 번들을 가져옵니다.
[Android.Runtime.Register("getBundle", "(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/ClassLoader;)Ljava/util/ResourceBundle;", "")]
public static Java.Util.ResourceBundle? GetBundle (string? baseName, Java.Util.Locale? locale, Java.Lang.ClassLoader? loader);
[<Android.Runtime.Register("getBundle", "(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/ClassLoader;)Ljava/util/ResourceBundle;", "")>]
static member GetBundle : string * Java.Util.Locale * Java.Lang.ClassLoader -> Java.Util.ResourceBundle
매개 변수
- baseName
- String
리소스 번들의 기본 이름, 정규화된 클래스 이름
- locale
- Locale
리소스 번들을 원하는 로캘
- loader
- ClassLoader
리소스 번들을 로드할 클래스 로더
반환
지정된 기본 이름 및 로캘에 대한 리소스 번들
- 특성
예외
찾을 ResourceBundle
수 없으면
설명
지정된 기본 이름, 로캘 및 클래스 로더를 사용하여 리소스 번들을 가져옵니다.
호출과 <동일합니다. blockquote>
getBundle(baseName, targetLocale, loader, control)
<의 기본 인스턴스Control
를 전달하는 /blockquote> 기본 동작 수정에 대한 설명을 참조하세요. 다음은 기본 동작에 대해 설명합니다.
<b>"default_behavior">리소스 번들 검색 및 로드 전략</b>
getBundle
에서는 기본 이름, 지정된 로캘 및 기본 로캘(가져온 java.util.Locale#getDefault() Locale.getDefault
로캘)을 사용하여 "Candidates"><em>후보 번들 이름</em 시퀀스를 생성합니다>. 지정된 로캘의 언어, 스크립트, 국가 및 변형이 모두 빈 문자열인 경우 기본 이름은 유일한 후보 번들 이름입니다. 그렇지 않으면 지정된 로캘의 특성 값(언어, 스크립트, 국가 및 변형)에서 후보 로캘 목록이 생성되고 기본 이름에 추가됩니다. 일반적으로 다음과 같이 표시됩니다.
baseName + "_" + language + "_" + script + "_" + country + "_" + variant
baseName + "_" + language + "_" + script + "_" + country
baseName + "_" + language + "_" + script
baseName + "_" + language + "_" + country + "_" + variant
baseName + "_" + language + "_" + country
baseName + "_" + language
최종 구성 요소가 빈 문자열인 후보 번들 이름은 밑줄과 함께 생략됩니다. 예를 들어 국가가 빈 문자열인 경우 위의 두 번째 및 다섯 번째 후보 번들 이름은 생략됩니다. 또한 스크립트가 빈 문자열인 경우 스크립트를 포함한 후보 이름은 생략됩니다. 예를 들어 언어가 "de"이고 변형이 "JAVA"인 로캘은 아래에 기본 이름이 "MyResource"인 후보 이름을 생성합니다.
MyResource_de__JAVA
MyResource_de
변형에 하나 이상의 밑줄('_')이 포함된 경우 마지막 밑줄을 잘라내어 생성된 번들 이름 시퀀스와 그 다음 부분은 원래 변형이 있는 후보 번들 이름 뒤에 삽입됩니다. 예를 들어 언어가 "en"인 로캘의 경우 스크립트 "Latn, country "US" 및 variant "WINDOWS_VISTA", 번들 기본 이름 "MyResource"의 경우 아래 후보 번들 이름 목록이 생성됩니다.
MyResource_en_Latn_US_WINDOWS_VISTA
MyResource_en_Latn_US_WINDOWS
MyResource_en_Latn_US
MyResource_en_Latn
MyResource_en_US_WINDOWS_VISTA
MyResource_en_US_WINDOWS
MyResource_en_US
MyResource_en
<blockquote><b>참고:</b> 일부 Locale
항목의 경우 후보 번들 이름 목록에 추가 이름이 포함되거나 번들 이름의 순서가 약간 수정됩니다. 자세한 내용은 기본 구현에 Control#getCandidateLocales(String, Locale) getCandidateLocales
대한 설명을 참조하세요.</blockquote>
getBundle
그런 다음 후보 번들 이름을 반복하여 실제 리소스 번들을 인스턴스화</em>할 수 <>있는 첫 번째 번들을 찾습니다. 생성된 각 이름, 첫 번째 클래스 이름 및 두 번째 속성 파일 이름에 대해 두 개의 번들 이름을 생성하는 기본 컨트롤의 Control#getFormats getFormats
메서드를 사용합니다. 각 후보 번들 이름에 대해 리소스 번들을 만들려고 시도합니다.
<ul><li>First는 생성된 클래스 이름을 사용하여 클래스를 로드하려고 시도합니다. 지정된 클래스 로더를 사용하여 이러한 클래스를 찾아서 로드할 수 있고, ResourceBundle과 호환되는 할당이고, ResourceBundle에서 액세스할 수 있으며, getBundle
인스턴스화할 수 있는 경우 이 클래스의 새 인스턴스를 만들고 em 결과 리소스 번들</em>으로 <>사용합니다.
<li>그렇지 않으면 getBundle
생성된 속성 파일 이름을 사용하여 속성 리소스 파일을 찾으려고 시도합니다. 모든 "." 문자를 "/"로 대체하고 문자열 ".properties"를 추가하여 후보 번들 이름에서 경로 이름을 생성합니다. 를 사용하여 java.lang.ClassLoader#getResource(java.lang.String) ClassLoader.getResource
이 이름의 "리소스"를 찾으려고 합니다. (의미 있는 "리소스" getResource
는 리소스 번들의 내용과는 아무 상관이 없으며 파일과 같은 데이터 컨테이너일 뿐입니다.) "리소스"를 찾으면 해당 콘텐츠에서 새 PropertyResourceBundle
인스턴스를 만들려고 시도합니다. 성공하면 이 인스턴스는 <em>결과 리소스 번들</em>이 됩니다. </ul>
이는 결과 리소스 번들을 인스턴스화하거나 후보 번들 이름 목록이 소진될 때까지 계속됩니다. 일치하는 리소스 번들을 찾을 수 없으면 현재 기본 로캘을 반환하는 기본 컨트롤의 Control#getFallbackLocale getFallbackLocale
메서드가 호출됩니다. 이 로캘을 사용하여 새 후보 로캘 이름 시퀀스가 생성되고 위와 같이 다시 검색됩니다.
결과 번들을 찾을 수 없으면 기본 이름만 조회됩니다. 그래도 실패하면 throw MissingResourceException
됩니다.
"parent_chain"> 결과 리소스 번들을 발견하면 해당 <em>부모 체인</em> 이 인스턴스화됩니다. 결과 번들에 이미 부모가 있는 경우(캐시에서 반환되었기 때문일 수 있음) 체인이 완료됩니다.
그렇지 않으면 getBundle
결과 리소스 번들을 생성한 패스 중에 사용된 나머지 후보 로캘 목록을 검사합니다. (이전과 마찬가지로 최종 구성 요소가 빈 문자열인 후보 번들 이름은 생략됩니다.) 후보 목록의 끝에 관해서는 일반 번들 이름을 시도합니다. 각 후보 번들 이름을 사용하여 리소스 번들을 인스턴스화하려고 시도합니다(먼저 위에서 설명한 대로 클래스 및 속성 파일을 찾음).
성공할 때마다 새 리소스 번들로 이전에 인스턴스화된 리소스 번들의 #setParent(java.util.ResourceBundle) setParent
메서드를 호출합니다. 이 작업은 이름 목록이 소진되거나 현재 번들에 이미 null이 아닌 부모가 있는 경우까지 계속됩니다.
부모 체인이 완료되면 번들 반환됩니다.
<b>참고:</b>getBundle
는 인스턴스화된 리소스 번들을 캐시하고 동일한 리소스 번들 인스턴스를 여러 번 반환할 수 있습니다.
<b>참고:</b>인수는 baseName
정규화된 클래스 이름이어야 합니다. 그러나 이전 버전과의 호환성을 위해 Java SE 런타임 환경은 이를 확인하지 않으므로 정규화된 클래스 이름(".") 대신 경로 이름("/"사용)을 지정하여 s에 액세스할 PropertyResourceBundle
수 있습니다.
"default_behavior_example"><강력한>예:</strong>
다음 클래스 및 속성 파일이 제공됩니다. <ul><li>MyResources.class <li>MyResources.properties <li>MyResources_fr.properties <li>MyResources_fr_CH.class <li>MyResources_fr_CH.properties <li>MyResources_en.properties <li>MyResources_es_ES.class </ul>
모든 파일의 콘텐츠는 유효합니다(즉, ".class" 파일의 ResourceBundle
공용 비 추상 하위 클래스, 구문적으로 올바른 ".properties" 파일). 기본 로캘은 Locale("en", "GB")
입니다.
아래 로캘 인수를 사용하여 호출 getBundle
하면 다음과 같이 리소스 번들이 인스턴스화됩니다.
<table class="striped"><caption style="display:none">getBundle() locale to resource bundle mapping</caption><thead><tr><th scope="col">Locale</th th><scope="col">Resource bundle</th></tr></thead<>tbody><tr><th scope="row">Locale("fr", "CH")</td><>MyResources_fr_CH.class, 부모 MyResources_fr.properties, 부모 MyResources.class</td></tr><tr><th scope="row">Locale("fr", "FR")</th><td>MyResources_fr.properties, parent MyResources.class</td></tr tr<>><th scope="row"Locale("de">, "DE")</th><td>MyResources_en.properties, parent MyResources.class</td></tr tr>><<th scope="row">Locale("en", "US")</th><td>MyResources_en.properties, parent MyResources.class</td></tr><tr><th scope="row">Locale("es", "ES")</th><td>MyResources_es_ES.class, parent MyResources.class</td></tr></tbody></table>
파일 MyResources_fr_CH.properties는 MyResources_fr_CH.class에서 숨겨지므로 사용되지 않습니다. 마찬가지로 MyResources.properties도 MyResources.class에 의해 숨겨집니다.
1.2에 추가되었습니다.
이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.
적용 대상
GetBundle(String, Locale, ResourceBundle+Control)
지정된 기본 이름, 기본 로캘 및 호출자의 클래스 로더를 사용하여 리소스 번들을 가져옵니다.
[Android.Runtime.Register("getBundle", "(Ljava/lang/String;Ljava/util/Locale;Ljava/util/ResourceBundle$Control;)Ljava/util/ResourceBundle;", "")]
public static Java.Util.ResourceBundle? GetBundle (string? baseName, Java.Util.Locale? targetLocale, Java.Util.ResourceBundle.Control? control);
[<Android.Runtime.Register("getBundle", "(Ljava/lang/String;Ljava/util/Locale;Ljava/util/ResourceBundle$Control;)Ljava/util/ResourceBundle;", "")>]
static member GetBundle : string * Java.Util.Locale * Java.Util.ResourceBundle.Control -> Java.Util.ResourceBundle
매개 변수
- baseName
- String
리소스 번들의 기본 이름, 정규화된 클래스 이름
- targetLocale
- Locale
리소스 번들의 대상 로캘
- control
- ResourceBundle.Control
액세스 시퀀스를 제어하는 컨트롤
반환
지정된 기본 이름 및 기본 로캘에 대한 리소스 번들
- 특성
설명
에 대한 java.util.ResourceBundle.getBundle(java.lang.String)
Java 설명서
이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.
적용 대상
GetBundle(String, Locale, ClassLoader, ResourceBundle+Control)
지정된 기본 이름, 기본 로캘 및 호출자의 클래스 로더를 사용하여 리소스 번들을 가져옵니다.
[Android.Runtime.Register("getBundle", "(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/ClassLoader;Ljava/util/ResourceBundle$Control;)Ljava/util/ResourceBundle;", "")]
public static Java.Util.ResourceBundle? GetBundle (string? baseName, Java.Util.Locale? targetLocale, Java.Lang.ClassLoader? loader, Java.Util.ResourceBundle.Control? control);
[<Android.Runtime.Register("getBundle", "(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/ClassLoader;Ljava/util/ResourceBundle$Control;)Ljava/util/ResourceBundle;", "")>]
static member GetBundle : string * Java.Util.Locale * Java.Lang.ClassLoader * Java.Util.ResourceBundle.Control -> Java.Util.ResourceBundle
매개 변수
- baseName
- String
리소스 번들의 기본 이름, 정규화된 클래스 이름
- targetLocale
- Locale
리소스 번들의 대상 로캘
- loader
- ClassLoader
리소스를 로드할 클래스 로더
- control
- ResourceBundle.Control
액세스 시퀀스를 제어하는 컨트롤
반환
지정된 기본 이름 및 기본 로캘에 대한 리소스 번들
- 특성
설명
에 대한 java.util.ResourceBundle.getBundle(java.lang.String)
Java 설명서
이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.