我的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