1

私は実際に、次のコードを使用して Java Web アプリに OWL ファイルをロードしています。

InputStream is = Dummy.class.getResourceAsStream("content.owl");

このファイルにアクセスするためDummy.classに、同じパッケージで作成しました。content.owl

content.owlダミークラスを必要とせずに直接ロードする (リファクタリングセーフな) 方法はありますか?

4

1 に答える 1

2

コンパイルされたファイルが配置されている出力フォルダーの場所に応じて、そのリソースの相対パスを指定することにより、任意のクラスからそのリソースを取得できるはずだと思います。

たとえば、最初はproj/src/a/b/content.owlパッケージのリソース ファイルと、このリソースにアクセスするクラスはパッケージproj/src/a/b/c/d/MyClass.java にあります。プロジェクトをビルドした後、実行可能ファイルは bin フォルダーの下に移動し、リソースにアクセスするクラスはproj/bin/a/b/c/d/MyClass.classディレクトリに移動し、リソースはproj/bin/a/b/ content.owl に移動します.

また、プロジェクトのクラスパスで出力フォルダーとしてbinフォルダーが指定されているため、次のコードでリソースにアクセスできます。

InputStream is = MyClass.class.getResourceAsStream("/a/b/content.owl");
于 2011-08-26T19:09:10.880 に答える