Java ResourceBundle.Control getFallbackLocale() 方法



描述

java ResourceBundle.Control getFallbackLocale(String baseName, Locale locale) 方法返回一個 Locale,作為 ResourceBundle.getBundle 工廠方法進一步資源包搜尋的回退區域設定。每次當沒有為 baseName 和 locale 找到任何結果資源包時,此方法都會從工廠方法中呼叫,其中 locale 或者是 ResourceBundle.getBundle 的引數,或者是此方法返回的先前回退區域設定。

宣告

以下是java.util.Control.getFallbackLocale() 方法的宣告

public Locale getFallbackLocale(String baseName, Locale locale)

引數

  • baseName − 資源包的基本名稱,一個完全限定的類名,ResourceBundle.getBundle 無法為此類名找到任何資源包(基本包除外)

  • locale − ResourceBundle.getBundle 無法找到任何資源包的 Locale(基本包除外)

返回值

此方法返回用於回退搜尋的 Locale,如果不需要進一步的回退搜尋,則返回null

異常

NullPointerException − 如果 baseName 或 locale 為null

從 US Locale 的 ResourceBundle Control 獲取回退 Locale 的示例

以下示例演示瞭如何使用 Java ResourceBundle.Control getFallbackLocale() 方法獲取回退區域設定。我們使用 getControl() 方法建立了一個使用 FORMAT_DEFAULT 的資源包控制。然後,使用 getFallbackLocale() 方法列印相應 hello_en_US.properties 檔案的 US Locale 的回退區域設定。

package com.tutorialspoint;

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

public class ResourceBundleControlDemo {
   public static void main(String[] args) {

      // create a new ResourceBundle.Control with default format
      ResourceBundle.Control rbc = ResourceBundle.Control.getControl(Control.FORMAT_DEFAULT);

      // print the CandidateLocales
      System.out.println(rbc.getFallbackLocale("hello", Locale.US));
   }
}

輸出

假設你的 CLASSPATH 中有一個資原始檔hello_en_US.properties,內容如下。此檔案將用作我們示例程式的輸入:

hello = Hello World!

讓我們編譯並執行上述程式,這將產生以下結果:

en_IN

從 France Locale 的 ResourceBundle Control 獲取回退 Locale 的示例

以下示例演示瞭如何使用 Java ResourceBundle.Control getFallbackLocale() 方法獲取回退區域設定。我們使用 getControl() 方法建立了一個使用 FORMAT_DEFAULT 的資源包控制。然後,使用 getFallbackLocale() 方法列印相應 hello_fr_FR.properties 檔案的 French Locale 的回退區域設定。

package com.tutorialspoint;

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

public class ResourceBundleControlDemo {
   public static void main(String[] args) {

      // create a new ResourceBundle.Control with default format
      ResourceBundle.Control rbc = ResourceBundle.Control.getControl(Control.FORMAT_DEFAULT);

      // print the CandidateLocales
      System.out.println(rbc.getFallbackLocale("hello", Locale.FRANCE));
   }
}

輸出

假設你的 CLASSPATH 中有一個資原始檔hello_fr_FR.properties,內容如下。此檔案將用作我們示例程式的輸入:

hello = Bonjour le monde!

讓我們編譯並執行上述程式,這將產生以下結果:

en_IN

從 German Locale 的 ResourceBundle Control 獲取回退 Locale 的示例

以下示例演示瞭如何使用 Java ResourceBundle.Control getControl() 方法獲取回退區域設定。我們使用 getControl() 方法建立了一個使用 FORMAT_DEFAULT 的資源包控制。然後,使用 getFallbackLocale() 方法列印相應 hello_de_DE.properties 檔案的 German Locale 的回退區域設定。

package com.tutorialspoint;

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

public class ResourceBundleControlDemo {
   public static void main(String[] args) {

      // create a new ResourceBundle.Control with default format
      ResourceBundle.Control rbc = ResourceBundle.Control.getControl(Control.FORMAT_DEFAULT);

      // print the CandidateLocales
      System.out.println(rbc.getFallbackLocale("hello", Locale.GERMANY));
   }
}

輸出

假設你的 CLASSPATH 中有一個資原始檔hello_de_DE.properties,內容如下。此檔案將用作我們示例程式的輸入:

hello = Hallo Welt!

讓我們編譯並執行上述程式,這將產生以下結果:

en_IN
java_util_resourcebundle_control.htm
廣告
© . All rights reserved.