📜  Java中的 Logger getResourceBundle() 方法及示例(1)

📅  最后修改于: 2023-12-03 15:01:54.936000             🧑  作者: Mango

Java中的Logger类中的getResourceBundle()方法及示例

在Java中,Logger类是一个日志记录器,可以通过它输出日志信息。Logger类的getResourceBundle()方法可以获取与Logger对象关联的资源包。

getResourceBundle()方法的语法
public ResourceBundle getResourceBundle()
getResourceBundle()方法的参数

getResourceBundle()方法没有参数。

getResourceBundle()方法的返回值

getResourceBundle()方法返回Logger对象的资源包。

getResourceBundle()方法的示例

下面的代码演示Logger类中的getResourceBundle()方法的使用示例。这里创建一个Logger对象logger,并调用getResourceBundle()方法。getResourceBundle()方法返回了Logger对象的资源包。

import java.util.ResourceBundle;
import java.util.logging.Logger;

public class LoggerResourceBundleExample {
    private static final Logger logger = Logger.getLogger(LoggerResourceBundleExample.class.getName());

    public static void main(String[] args) {
        ResourceBundle bundle = logger.getResourceBundle();
        System.out.println(bundle.getString("hello"));
    }
}

在上面代码中,LoggerResourceBundleExample类中创建了一个名为logger的Logger对象,然后调用Logger对象的getResourceBundle()方法获取Logger对象的资源包。因为Logger对象没有设置资源包,所以getResourceBundle()方法返回null。结果,发生NullPointerException。

需要注意的是,Logger对象的getResourceBundle()方法返回资源包的前提条件是,Logger对象通过setResourceBundle()方法设置了资源包。否则,getResourceBundle()返回null。下面的代码演示了Logger对象的getResourceBundles()方法的使用,这里创建一个名为logger的Logger对象,并通过setResourceBundle()方法设置资源包:

import java.util.ResourceBundle;
import java.util.logging.Logger;

public class SetResourceBundleExample {
    private static final Logger logger = Logger.getLogger(SetResourceBundleExample.class.getName());

    public static void main(String[] args) {
        ResourceBundle bundle = ResourceBundle.getBundle("MyResources");
        logger.setResourceBundle(bundle);
        ResourceBundle resourceBundle = logger.getResourceBundle();
        System.out.println(resourceBundle.getString("hello"));
    }
}

在上面的示例中,创建了一个名为MyResources的资源包。然后,将资源包设置到Logger对象上,并通过getResourceBundle()方法获取Logger对象的资源包。最后,输出资源包中的内容。在这个示例中,资源包中包含一个hello键,对应的值是“Hello World!”。运行上面的示例将输出“Hello World!”。