【发布时间】:2011-02-26 23:16:58
【问题描述】:
我熟悉在给定文件名的情况下获取属性文件的内容,显然 MyClass.class.getResource('*.properties') 不起作用,但我怎样才能获得所有属性的列表与我的班级位于同一包中的文件?
【问题讨论】:
-
这对于 Spring 来说很容易,所以如果你使用它的机会不大,我可以给你一个基于 Spring 的答案。
-
好的...所以我开始认为这是不可能的。据我了解,Java 使用延迟类加载,因此类加载器在被要求检索类之前不知道包中的内容。我能想出的最接近的方法是 attempt 将包名解析为目录,获取道具列表。目录中的文件,并尝试通过 class.getResource() 加载它们。我知道这是一个黑客;有没有更好的办法?
-
啊哈!听起来它会起作用,任何使用 Spring 的回答都是可以接受的,将不胜感激
-
请使用
@nickname发布目标cmets,例如@skaffman,以便他得到通知:) 是的,使用java.io.File和配偶这样做很讨厌。是的,Spring 解决方案会更好。 -
@skaffman 您可以提供的任何 Spring 解决方案都会非常有帮助。感谢您的宝贵时间
标签: java jakarta-ee properties classpath classloader