Поделиться через


ResourceBundle.GetBundle Метод

Определение

Перегрузки

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, </blockquote>getBundle(baseName, Locale.getDefault(), this.getClass().getClassLoader())>

Документация по Java для java.util.ResourceBundle.getBundle(java.lang.String).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к

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, </blockquote>getBundle(baseName, locale, this.getClass().getClassLoader())>

Документация по Java для java.util.ResourceBundle.getBundle(java.lang.String, java.util.Locale).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к

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 для java.util.ResourceBundle.getBundle(java.lang.String).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к

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)

</blockquote> , передав экземпляр Controlпо умолчанию. Ознакомьтесь с описанием изменения поведения по умолчанию. Ниже описано поведение по умолчанию.

<b>"default_behavior">Поиск и загрузка< пакетов ресурсов/b>

getBundle использует базовое имя, указанный языковой стандарт и языковой стандарт по умолчанию (полученный из java.util.Locale#getDefault() Locale.getDefault) для создания последовательности "кандидатов"><em-кандидатов>имен< пакетов/em>. Если язык, скрипт, страна и вариант указанного языкового стандарта являются пустыми строками, базовое имя — единственное имя пакета кандидатов. В противном случае создается список кандидатов языкового стандарта из значений атрибутов указанного языкового стандарта (языка, скрипта, страны и варианта) и добавляется к базовому имени. Как правило, это будет выглядеть следующим образом:

baseName + "_" + language + "_" + script + "_" + country + "_" + variant
                baseName + "_" + language + "_" + script + "_" + country
                baseName + "_" + language + "_" + script
                baseName + "_" + language + "_" + country + "_" + variant
                baseName + "_" + language + "_" + country
                baseName + "_" + language

Имена пакетов кандидатов, где окончательный компонент является пустой строкой, опущены вместе с подчеркиванием. Например, если страна является пустой строкой, то второй и пятый имена пакетов, указанные выше, будут опущены. Кроме того, если скрипт является пустой строкой, имена кандидатов, включая скрипт, опущены. Например, языковой стандарт с языком "de" и variant "JAVA" будет создавать имена кандидатов с базовым именем MyResource ниже.

MyResource_de__JAVA
                MyResource_de

В случае, если вариант содержит один или несколько подчеркиваний ('_'), последовательность имен пакетов, созданная усечением последнего подчеркивания, и часть, следующая за ней, вставляется после имени пакета кандидата с исходным вариантом. Например, для языкового стандарта с языком "en", скриптом "Latn", страной "США" и вариантом "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>.

<li>В getBundle противном случае пытается найти файл ресурса свойства с помощью имени созданного файла свойств. Он создает имя пути из имени пакета кандидата путем замены всех символов "." на "/" и добавления строки ".properties". Он пытается найти "ресурс" с этим именем с помощью java.lang.ClassLoader#getResource(java.lang.String) ClassLoader.getResource. (Обратите внимание, что "ресурс" в смысле getResource не имеет ничего общего с содержимым пакета ресурсов, это просто контейнер данных, например файл.) Если он находит ресурс, он пытается создать новый PropertyResourceBundle экземпляр из его содержимого. В случае успешного выполнения этот экземпляр становится пакетом <<ресурсов em>result/em>. </ul>

Это продолжается до создания экземпляра пакета результирующих ресурсов или исчерпан список имен пакетов кандидатов. Если не найден соответствующий пакет ресурсов, вызывается метод элемента управления Control#getFallbackLocale getFallbackLocale по умолчанию, который возвращает текущий языковой стандарт по умолчанию. Новая последовательность имен кандидатов языкового стандарта создается с помощью этого языкового стандарта и снова выполняется поиск, как описано выше.

Если пакет результатов по-прежнему не найден, поиск базового имени выполняется только. Если это по-прежнему завершается ошибкой MissingResourceException , создается исключение.

"parent_chain"> После обнаружения пакета результирующих ресурсов создается экземпляр родительской <>цепочки< или em>. Если в пакете результатов уже есть родительский элемент (возможно, из-за того, что он был возвращен из кэша), цепочка завершена.

getBundle В противном случае проверяет оставшуюся часть списка кандидатов языкового стандарта, который использовался во время прохождения, создавшего пакет результирующих ресурсов. (Как и раньше, имена пакетов кандидатов, где окончательный компонент является пустой строкой, опущены.) Когда дело доходит до конца списка кандидатов, он пытается получить простое имя пакета. При каждом из имен пакета кандидатов он пытается создать экземпляр пакета ресурсов (сначала ищет класс, а затем файл свойств, как описано выше).

Всякий раз, когда он завершается успешно, он вызывает ранее созданный пакет ресурсов #setParent(java.util.ResourceBundle) setParent с новым пакетом ресурсов. Это продолжается до тех пор, пока список имен не будет исчерпан или текущий пакет уже имеет родительский элемент, отличный от NULL.

После завершения родительской цепочки возвращается пакет.

<b>Примечание.</b>getBundle кэширует экземпляры пакетов ресурсов и может возвращать один и тот же экземпляр пакета ресурсов несколько раз.

<b Примечание.</b>>Аргумент baseName должен быть полным именем класса. Однако для совместимости с более ранними версиями среды выполнения Java SE не проверяют это, поэтому можно получить доступ PropertyResourceBundleк s, указав имя пути (с помощью "/") вместо полного имени класса (с помощью ".").

"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>li MyResources_es_ES.class </ul><<>

Содержимое всех файлов допустимо (т. е. общедоступных не абстрактных подклассов ResourceBundle для файлов ".class", синтаксически правильных файлов .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")</th><td>MyResources_fr_CH.class, parent MyResources_fr.properties, parent 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><><><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.

Документация по Java для java.util.ResourceBundle.getBundle(java.lang.String, java.util.Locale, java.lang.ClassLoader).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к

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 для java.util.ResourceBundle.getBundle(java.lang.String).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к

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 для java.util.ResourceBundle.getBundle(java.lang.String).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к