私のJavaアプリケーションは、同じJAR内にバンドルされますmyconfig/
ディレクトリを見つけることができるようにする必要があります。ランタイムクラスパスからディレクトリを読み取る方法は?
myjar.jar/
com/
me/
myproject/
ConfigLoader.java --> looks for myconfig/ directory and its contents
myconfig/
conf-1.xml
conf.properties
... etc.
どのように私は実際に実行時クラスパスから外れ、このmyconfig/
ディレクトリを読んで行くのですか?私はいくつかの研究を行ってきた、クラスパスからファイルを読み取る通常の方法は、ディレクトリのために動作しないようです:だから誰からディレクトリ全体を読み取る方法を知っているん
InputStream stream = ConfigLoader.class.getResourceAsStream("myconfig");
ランタイムクラスパス(単一のファイルとは対照的に)?前もって感謝します!
注:ファイルを個別にロードすることはできません。myconfig
は、内部に何千ものプロパティファイルがあるディレクトリです。
あなたは何をしようとしていますか? –
私はそれを説明するために問題を簡素化しようとしています。 google [here](http://code.google.com/p/language-detection/)には 'langdetect'という名前のライブラリがあります。ライブラリには、すべての言語プロパティファイルをすべてランタイムクラスパスにロードするために使用する 'profiles'ディレクトリがあります。実行時に 'profiles /'ディレクトリを初期化するために 'DetectFactory.loadProfile(String)'メソッドを呼び出す必要があります。したがって、このディレクトリはクラスパス上にある必要があります。私はこれをabsファイルのパスに渡すとこれを動作させることができますが、最終的にはこれを同じJARの中にパッケージ化する必要があります。 – IAmYourFaja
したがって、最終的には、 'DetectFactory.loadProfiles'を渡すだけで、同じJARの' profiles'ディレクトリにそれを指すStringを渡す必要があります。私の例は 'myconfig'ディレクトリを示していますが、本当に' profiles'です。それは 'ConfigLoader'を表示します。本当に' DetectFactory'です。 – IAmYourFaja