ResourceBundle.GetBundle Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ü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 Locale
Elemente 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>
getBundle
anschließ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.
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.