📅  最后修改于: 2023-12-03 15:01:54.936000             🧑  作者: Mango
在Java中,Logger类是一个日志记录器,可以通过它输出日志信息。Logger类的getResourceBundle()方法可以获取与Logger对象关联的资源包。
public ResourceBundle getResourceBundle()
getResourceBundle()方法没有参数。
getResourceBundle()方法返回Logger对象的资源包。
下面的代码演示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!”。