我在我的類路徑中有兩個jar文件「jar1.jar」和「jar2.jar」 現在在「jar1.jar」中有一個文件test.xml,它可以從我的程序 本在eclipse中訪問我的jar文件項目
x=reader.readXml("test.xml");
,但如果我嘗試從「jar2.jar」訪問某些文件我的程序沒有讀它,
有沒有辦法告訴你需要從閱讀程序這個jar文件,因爲它只能讀取jar1而不是jar2 ..
感謝
我在我的類路徑中有兩個jar文件「jar1.jar」和「jar2.jar」 現在在「jar1.jar」中有一個文件test.xml,它可以從我的程序 本在eclipse中訪問我的jar文件項目
x=reader.readXml("test.xml");
,但如果我嘗試從「jar2.jar」訪問某些文件我的程序沒有讀它,
有沒有辦法告訴你需要從閱讀程序這個jar文件,因爲它只能讀取jar1而不是jar2 ..
感謝
化妝jar1類路徑中,
在jar2任何類,試試這個:
InputStream is=this.getClass().getResourceAsStream("/path to xml/test.xml");
BufferedReader br=new BufferedReader(new InputStreamReader(is));
你將不得不調整進口爲了讓您的jar文件。轉至project-> properties-> Java Build Path-> Order and Export並使jar2
在導出順序中向上。我認爲你在這兩個jar文件中都有相同的文件。
如果在jar2
文件有不同的名稱,這樣,您必須驗證:
經過上述檢查,您可以使用以下代碼行來讀取文件。
InputStream stream = getClass().getResourceAsStream("<valid path to xml>");
謝謝,在兩個罐子裏都有不同的文件,我想讀兩個,所以如果我改變順序可能是我將無法從jar1讀取,是這樣嗎? – user1226162
編號我已經更新了 –
以上的答案謝謝,我用你的代碼,但它顯示的行爲相同,它與我的jar1工作正常,但不是jar2,無法找到jar 2文件,我也調整導入順序 – user1226162
發佈您的代碼從罐子 – Satya
閱讀我使用了一些API,這是給我的方法讀取XML,TanzilReader讀卡器=新TanzilReader(); Chapter [] x = reader.readXml(「/ test-uthmani.xml」); – user1226162
您需要查看Oracle的此URL,以顯示從jarfile讀取的所有內容:http://docs.oracle.com/javase/1.4.2/docs/api/java/util/jar/package-summary.html – Satya