2012-01-18 59 views
0

我是開發可實現通用功能的Java項目。該項目使用一些xslt文件。其實我打開使用相對路徑「文件/ XSLT」這些文件,並且這工作(默認路徑是「/」位於「PLACE1」我的文件系統中,這樣所獲得的路徑是「PLACE1 /文件/ XSLT」)。如何在導入的Java項目中加載文件?

然後我創建一個新項目,導入以前的項目並嘗試使用它的功能,但顯然這不起作用:在庫中,所需xslt文件的相對路徑使用默認路徑第二個項目(位於我的文件系統中的「PLACE2」中,所以獲得的路徑是「PLACE2/file/xslt」)。

我如何管理這個問題?

回答

1

把你的xslt文件放在與使用它們的類相同的包中(或者在項目的源代碼根目錄下),然後使用帶有路徑「file.xslt」或「/file.xslt」的Class.getResourceAsStream - 這個方法搜索指定資源的類路徑。

當項目建成資源(如這些XSLT文件)這種方式將被複制到相應的目錄中與* .class文件,並相應地放置在一個jar文件。

例如當MyClass類和文件1.xslt是在相同的封裝:

InputStream xsltIn = MyClass.class.getResourceAsStream ("1.xslt");

如果文件2.xslt是在源根(默認無名稱封裝):

InputStream xsltIn = MyClass.class.getResourceAsStream ("/2.xslt");