我的Java应用程序需要能够找到一个myconfig/
目录,将同一JAR内部捆绑:如何从运行时类路径中读取目录?
myjar.jar/
com/
me/
myproject/
ConfigLoader.java --> looks for myconfig/ directory and its contents
myconfig/
conf-1.xml
conf.properties
... etc.
实际上,我怎么去阅读这myconfig/
关闭目录的运行时类路径?我做了一些研究,似乎从classpath中读取文件正常方法不适用于目录工作:
InputStream stream = ConfigLoader.class.getResourceAsStream("myconfig");
因此,没有人知道如何从读取整个目录运行时类路径(而不是单个文件)?提前致谢!
请注意:无法单独加载文件,myconfig
是一个包含数千个属性文件的目录。
你想做什么? – 2012-08-17 13:51:23
为了解释它,我试图简化问题。在google [这里](http://code.google.com/p/language-detection/)上有一个名为'langdetect'的库。该库附带一个'profiles'目录,用于将每个语言属性文件加载到运行时类路径中。在运行时你需要调用一个'DetectFactory.loadProfile(String)'方法来初始化'profiles /'目录。所以这个目录需要在类路径上。当我将它传递给一个abs文件路径时,我可以得到这个工作,但最终需要将它封装在同一个JAR中。 – IAmYourFaja 2012-08-17 13:55:04
因此,最终,我只需要传递'DetectFactory.loadProfiles'字符串,将它指向同一个JAR中的'profiles'目录。所以,而我的例子显示'myconfig'目录,它真的'配置文件'。它显示'ConfigLoader',它真的是'DetectFactory'。 – IAmYourFaja 2012-08-17 13:56:53