Freigeben über


ResourceBundle.GetBundle Methode

Definition

Überlädt

GetBundle(String)

Ruft ein Ressourcenbundle mit dem angegebenen Basisnamen, dem Standardgebietsschema und dem Klassenladeprogramm des Aufrufers ab.

GetBundle(String, Locale)

Ruft ein Ressourcenbundle mit dem angegebenen Basisnamen und Gebietsschema und dem Klassenladeprogramm des Aufrufers ab.

GetBundle(String, ResourceBundle+Control)

Ruft ein Ressourcenbundle mit dem angegebenen Basisnamen, dem Standardgebietsschema und dem Klassenladeprogramm des Aufrufers ab.

GetBundle(String, Locale, ClassLoader)

Ruft ein Ressourcenbundle mit dem angegebenen Basisnamen, Gebietsschema und Klassenladeprogramm ab.

GetBundle(String, Locale, ResourceBundle+Control)

Ruft ein Ressourcenbundle mit dem angegebenen Basisnamen, dem Standardgebietsschema und dem Klassenladeprogramm des Aufrufers ab.

GetBundle(String, Locale, ClassLoader, ResourceBundle+Control)

Ruft ein Ressourcenbundle mit dem angegebenen Basisnamen, dem Standardgebietsschema und dem Klassenladeprogramm des Aufrufers ab.

GetBundle(String)

Ruft ein Ressourcenbundle mit dem angegebenen Basisnamen, dem Standardgebietsschema und dem Klassenladeprogramm des Aufrufers ab.

[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

Parameter

baseName
String

Der Basisname des Ressourcenpakets, ein vollqualifizierter Klassenname

Gibt zurück

ein Ressourcenbundle für den angegebenen Basisnamen und das Standardgebietsschema

Attribute

Ausnahmen

wenn dies ResourceBundle nicht gefunden werden kann.

Hinweise

Ruft ein Ressourcenbundle mit dem angegebenen Basisnamen, dem Standardgebietsschema und dem Klassenladeprogramm des Aufrufers ab. Das Aufrufen dieser Methode entspricht dem Aufrufen von <Blockquote>getBundle(baseName, Locale.getDefault(), this.getClass().getClassLoader()), </blockquote>

Java-Dokumentation für java.util.ResourceBundle.getBundle(java.lang.String).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für:

GetBundle(String, Locale)

Ruft ein Ressourcenbundle mit dem angegebenen Basisnamen und Gebietsschema und dem Klassenladeprogramm des Aufrufers ab.

[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

Parameter

baseName
String

Der Basisname des Ressourcenpakets, ein vollqualifizierter Klassenname

locale
Locale

das Gebietsschema, für das ein Ressourcenbundle gewünscht wird

Gibt zurück

ein Ressourcenbundle für den angegebenen Basisnamen und gebietsschema

Attribute

Ausnahmen

wenn das Ressourcenbundle nicht gefunden werden kann.

Hinweise

Ruft ein Ressourcenbundle mit dem angegebenen Basisnamen und Gebietsschema und dem Klassenladeprogramm des Aufrufers ab. Das Aufrufen dieser Methode entspricht dem Aufrufen von <Blockquote>getBundle(baseName, locale, this.getClass().getClassLoader()), </blockquote>

Java-Dokumentation für java.util.ResourceBundle.getBundle(java.lang.String, java.util.Locale).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für:

GetBundle(String, ResourceBundle+Control)

Ruft ein Ressourcenbundle mit dem angegebenen Basisnamen, dem Standardgebietsschema und dem Klassenladeprogramm des Aufrufers ab.

[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

Parameter

baseName
String

Der Basisname des Ressourcenpakets, ein vollqualifizierter Klassenname

control
ResourceBundle.Control

das Steuerelement, das die Zugriffssequenz steuert

Gibt zurück

ein Ressourcenbundle für den angegebenen Basisnamen und das Standardgebietsschema

Attribute

Hinweise

Java-Dokumentation für java.util.ResourceBundle.getBundle(java.lang.String).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für:

GetBundle(String, Locale, ClassLoader)

Ruft ein Ressourcenbundle mit dem angegebenen Basisnamen, Gebietsschema und Klassenladeprogramm ab.

[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

Parameter

baseName
String

Der Basisname des Ressourcenpakets, ein vollqualifizierter Klassenname

locale
Locale

das Gebietsschema, für das ein Ressourcenbundle gewünscht wird

loader
ClassLoader

das Klassenladeprogramm, aus dem das Ressourcenbundle geladen werden soll

Gibt zurück

ein Ressourcenbundle für den angegebenen Basisnamen und gebietsschema

Attribute

Ausnahmen

wenn dies ResourceBundle nicht gefunden werden kann.

Hinweise

Ruft ein Ressourcenbundle mit dem angegebenen Basisnamen, Gebietsschema und Klassenladeprogramm ab.

Dies entspricht dem Aufrufen: <Blockquote>

getBundle(baseName, targetLocale, loader, control)

</blockquote> passing a default instance of Control. Informationen zum Ändern des Standardverhaltens finden Sie in der Beschreibung. Im Folgenden wird das Standardverhalten beschrieben.

<b>"default_behavior">Ressourcenbündelsuche und Ladestrategie</b>

getBundle verwendet den Basisnamen, das angegebene Gebietsschema und das Standardgebietsschema (abgerufen von java.util.Locale#getDefault() Locale.getDefault) zum Generieren einer Sequenz von "kandidaten"><em>Kandidatenbundlenamen</em>. Wenn die Sprache, das Skript, das Land und die Variante des angegebenen Gebietsschemas alle leeren Zeichenfolgen sind, ist der Basisname der einzige Name des Kandidatenbundles. Andernfalls wird eine Liste der Kandidatengebietsschemas aus den Attributwerten des angegebenen Gebietsschemas (Sprache, Skript, Land und Variante) generiert und an den Basisnamen angefügt. In der Regel sieht dies wie folgt aus:

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

Kandidatenbundlenamen, bei denen die letzte Komponente eine leere Zeichenfolge ist, werden zusammen mit dem Unterstrich weggelassen. Wenn das Land z. B. eine leere Zeichenfolge ist, wird die zweite und der fünfte Kandidatenbundlenamen oben weggelassen. Wenn das Skript eine leere Zeichenfolge ist, werden auch die Kandidatennamen, einschließlich des Skripts, weggelassen. Ein Gebietsschema mit der Sprache "de" und der Variante "JAVA" erzeugt z. B. Kandidatennamen mit dem Basisnamen "MyResource" unten.

MyResource_de__JAVA
                MyResource_de

In dem Fall, dass die Variante einen oder mehrere Unterstriche ('_') enthält, wird eine Abfolge von Bundlenamen generiert, die durch Abschneiden des letzten Unterstrichs generiert und der darauf folgende Teil nach einem Kandidatenbundlenamen mit der ursprünglichen Variante eingefügt wird. For example, for a locale with language "en", script "Latn, country "US" and variant "WINDOWS_VISTA", and bundle base name "MyResource", the list of candidate bundle names below is generated:

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>Hinweis:</b> Für einige LocaleElemente enthält die Liste der Kandidatenbundlenamen zusätzliche Namen, oder die Reihenfolge der Bundlenamen wird leicht geändert. Ausführliche Informationen finden Sie in der Beschreibung der Standardimplementierung Control#getCandidateLocales(String, Locale) getCandidateLocales .</blockquote>

getBundleanschließend werden die Namen des Kandidatenbundle durchläuft, um den ersten zu finden, für den sie>< ein tatsächliches Ressourcenbundle instanziieren</em> können. Es verwendet die Methode der Standardsteuerelemente Control#getFormats getFormats , die zwei Bündelnamen für jeden generierten Namen generiert, den ersten Klassennamen und den zweiten einen Eigenschaftendateinamen. Für jeden Kandidatenbundlenamen wird versucht, ein Ressourcenbundle zu erstellen:

<ul><li>First, it versucht, eine Klasse mit dem generierten Klassennamen zu laden. Wenn eine solche Klasse mithilfe des angegebenen Klassenladeprogramm gefunden und geladen werden kann, ist zuordnungskompatibel mit ResourceBundle, kann über ResourceBundle zugegriffen werden und instanziiert werden, getBundle erstellt eine neue Instanz dieser Klasse und verwendet sie als <Em-Ergebnisressourcenpaket></em>.

<li>Andernfalls versucht, getBundle eine Eigenschaftsressourcendatei mithilfe des generierten Eigenschaftendateinamens zu suchen. Er generiert einen Pfadnamen aus dem Namen des Kandidatenbundles, indem alle "."-Zeichen durch "/" ersetzt und die Zeichenfolge ".properties" angefügt wird. Es versucht, eine "Ressource" mit diesem Namen zu finden.java.lang.ClassLoader#getResource(java.lang.String) ClassLoader.getResource (Beachten Sie, dass eine "Ressource" im Sinne von getResource nichts mit dem Inhalt eines Ressourcenpakets zu tun hat, es ist nur ein Container mit Daten, z. B. eine Datei.) Wenn eine "Ressource" gefunden wird, wird versucht, eine neue PropertyResourceBundle Instanz aus dem Inhalt zu erstellen. Bei erfolgreicher Ausführung wird diese Instanz zum <Em-Ergebnisressourcenpaket></em>. </ul>

Dies wird fortgesetzt, bis ein Ergebnisressourcenbundle instanziiert wird oder die Liste der Kandidatenbundlenamen erschöpft ist. Wenn kein übereinstimmende Ressourcenbundle gefunden wird, wird die Methode des Standardsteuerelements aufgerufen, die das aktuelle Standardgebietsschema Control#getFallbackLocale getFallbackLocale zurückgibt. Eine neue Sequenz von Kandidatengebietsschemanamen wird mithilfe dieses Gebietsschemas generiert und wie oben erneut durchsucht.

Wenn immer noch kein Ergebnisbundle gefunden wird, wird der Basisname allein nachschlagen. Wenn dies immer noch fehlschlägt, wird ein MissingResourceException Fehler ausgelöst.

"parent_chain"> Sobald ein Ergebnisressourcenbundle gefunden wurde, wird seine <übergeordnete Kette></em> instanziiert. Wenn das Ergebnisbundle bereits über ein übergeordnetes Element verfügt (möglicherweise weil es aus einem Cache zurückgegeben wurde), ist die Kette abgeschlossen.

Andernfalls wird der Rest der Kandidatengebietsschemaliste untersucht, getBundle die während des Durchlaufs verwendet wurde, der das Ergebnisressourcenbundle generiert hat. (Wie zuvor werden Kandidatenbundlenamen, bei denen die endgültige Komponente eine leere Zeichenfolge ist weggelassen.) Wenn es um das Ende der Kandidatenliste geht, wird der name des einfachen Bündels versucht. Bei jedem Kandidatenbundle wird versucht, ein Ressourcenbundle zu instanziieren (zuerst nach einer Klasse und dann nach einer Eigenschaftendatei, wie oben beschrieben).

Wenn es erfolgreich ist, ruft es die Methode des #setParent(java.util.ResourceBundle) setParent zuvor instanziierten Ressourcenbundles mit dem neuen Ressourcenbundle auf. Dies wird fortgesetzt, bis die Liste der Namen erschöpft ist oder das aktuelle Bundle bereits ein übergeordnetes Element ungleich NULL aufweist.

Sobald die übergeordnete Kette abgeschlossen ist, wird das Bündel zurückgegeben.

<b>Hinweis:</b>getBundle speichert instanziierte Ressourcenbündel zwischen und gibt möglicherweise mehrmals dieselbe Ressourcenbundleinstanz zurück.

<b>Hinweis:</b>Das baseName Argument sollte ein vollqualifizierter Klassenname sein. Aus Kompatibilität mit früheren Versionen überprüfen Java SE-Runtime-Umgebungen dies jedoch nicht, und daher ist es möglich, auf s zuzugreifen PropertyResourceBundle, indem sie einen Pfadnamen (mit "/") anstelle eines vollqualifizierten Klassennamens (mit ".") angeben.

"default_behavior_example"><strong>Example:</strong>

Die folgenden Klassen- und Eigenschaftsdateien werden bereitgestellt: 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><<>

Der Inhalt aller Dateien ist gültig (d. h. öffentliche, nicht abstrakte Unterklassen ResourceBundle für die ".class"-Dateien, syntaktisch korrekte ".properties"-Dateien). Das Standardgebietsschema ist Locale("en", "GB").

Das Aufrufen getBundle mit den folgenden Gebietsschemaargumenten instanziiert Ressourcenbündel wie folgt:

<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<>><th scope="row">Locale("de", "DE")</th><td>MyResources_en.properties, parent MyResources.class<</td></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>

Die Datei MyResources_fr_CH.properties wird nie verwendet, da sie von der MyResources_fr_CH.class ausgeblendet wird. Ebenso wird "MyResources.properties" auch von "MyResources.class" ausgeblendet.

In 1.2 hinzugefügt.

Java-Dokumentation für java.util.ResourceBundle.getBundle(java.lang.String, java.util.Locale, java.lang.ClassLoader).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für:

GetBundle(String, Locale, ResourceBundle+Control)

Ruft ein Ressourcenbundle mit dem angegebenen Basisnamen, dem Standardgebietsschema und dem Klassenladeprogramm des Aufrufers ab.

[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

Parameter

baseName
String

Der Basisname des Ressourcenpakets, ein vollqualifizierter Klassenname

targetLocale
Locale

das Zielgebietsschema des Ressourcenpakets

control
ResourceBundle.Control

das Steuerelement, das die Zugriffssequenz steuert

Gibt zurück

ein Ressourcenbundle für den angegebenen Basisnamen und das Standardgebietsschema

Attribute

Hinweise

Java-Dokumentation für java.util.ResourceBundle.getBundle(java.lang.String).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für:

GetBundle(String, Locale, ClassLoader, ResourceBundle+Control)

Ruft ein Ressourcenbundle mit dem angegebenen Basisnamen, dem Standardgebietsschema und dem Klassenladeprogramm des Aufrufers ab.

[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

Parameter

baseName
String

Der Basisname des Ressourcenpakets, ein vollqualifizierter Klassenname

targetLocale
Locale

das Zielgebietsschema des Ressourcenpakets

loader
ClassLoader

das Klassenladeprogramm zum Laden der Ressource

control
ResourceBundle.Control

das Steuerelement, das die Zugriffssequenz steuert

Gibt zurück

ein Ressourcenbundle für den angegebenen Basisnamen und das Standardgebietsschema

Attribute

Hinweise

Java-Dokumentation für java.util.ResourceBundle.getBundle(java.lang.String).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: