2017-12-06 15 views
0

私はgetContextClassLoader()をいつ使用するのですか?javaのgetResourceAsStream?

InputStream iStream= Thread.currentThread().getContextClassLoader().getResourceAsStream("Test.Properties"); 

accrossに来たWebアプリケーションを持っている私はそれが私が

Properties p = new Properties(); 
p.load(new BufferedReader(new FileReader("Test.properties"))) 

を書く場合いずれかが、私はこれらの2つのアプローチが異なっていてどのように知らせることができようになりますどのような違いを理解しようとしていますか?

答えて

0

私があなたを正しく理解しているのであれば、メソッドgetResourceAsStream()はプロパティファイルのclassspathをokに見えるという違いがあります。

ファイルリーダーは、ファイルシステム内の任意の場所からファイルを読み取ることができます。ただし、パスへのアクセス権があることは明らかです。

編集:スレッドの独自のクラスローダーを使用しますが、他のスレッド間でリソースを共有しない限り、いずれにしてもうまくいくはずです。

私は個人的にgetResourceAsStreamメソッドが好きです。これは、私がmavenプロジェクトのフォルダにファイルを投げることができるためです。/src/main/resourcesに格納されているので、アプリケーションのパッケージ化方法に関わらず、単に取得できます。

関連する問題