我应该在哪里找到java.util.ResourceBundle要加载的资源



我遇到了这段代码

ResourceBundle

BUNDLE = ResourceBundle.getBundle("a.b.c.d.E");

我想知道在哪里可以找到要加载的文件?我在磁盘上找不到文件 a.b.c.d.E

来自 ResourceBundle 的 getBundle 文档:

*....然后,getBundle 遍历候选捆绑包名称,以查找它可以实例化实际资源包的第一个名称。对于每个候选包名称,它会尝试创建一个资源包:

首先,它尝试使用候选捆绑包名称加载类。如果可以使用指定的类加载器找到并装入此类,赋值与资源包兼容,可从资源包访问,并且可以实例化,则 getBundle 将创建此类的新实例并将其用作结果资源包。

否则,getBundle 会尝试查找属性资源文件。它通过将所有"."字符替换为"/"并附加字符串".properties",从候选捆绑包名称生成路径名。它尝试使用 ClassLoader.getResource 查找具有此名称的"资源"。(请注意,getResource 意义上的"资源"与资源包的内容无关,它只是一个数据的容器,例如文件。如果它找到"资源",它会尝试从其内容创建新的 PropertyResourceBundle 实例。如果成功,此实例将成为结果资源包。

所以我从中理解的是:如果你的

a.b.c.d.E

不是一个类,那么它将查找一个带有 path 的属性文件

a/b/c/d/E.properties

最新更新