2012-05-04 41 views
0

我在我的類路徑中有兩個jar文件「jar1.jar」和「jar2.jar」 現在在「jar1.jar」中有一個文件test.xml,它可以從我的程序 本在eclipse中訪問我的jar文件項目

    x=reader.readXml("test.xml"); 

,但如果我嘗試從「jar2.jar」訪問某些文件我的程序沒有讀它,

有沒有辦法告訴你需要從閱讀程序這個jar文件,因爲它只能讀取jar1而不是jar2 ..

感謝

+0

發佈您的代碼從罐子 – Satya

+0

閱讀我使用了一些API,這是給我的方法讀取XML,TanzilReader讀卡器=新TanzilReader(); Chapter [] x = reader.readXml(「/ test-uthmani.xml」); – user1226162

+0

您需要查看Oracle的此URL,以顯示從jarfile讀取的所有內容:http://docs.oracle.com/javase/1.4.2/docs/api/java/util/jar/package-summary.html – Satya

回答

0

化妝jar1類路徑中,

在jar2任何類,試試這個:

InputStream is=this.getClass().getResourceAsStream("/path to xml/test.xml"); 
BufferedReader br=new BufferedReader(new InputStreamReader(is)); 
0

你將不得不調整進口爲了讓您的jar文件。轉至project-> properties-> Java Build Path-> Order and Export並使jar2在導出順序中向上。我認爲你在這兩個jar文件中都有相同的文件。

如果在jar2文件有不同的名稱,這樣,您必須驗證:

  1. 這個jar文件在類路徑
  2. 你指向一個正確的XML文件的位置。

經過上述檢查,您可以使用以下代碼行來讀取文件。

InputStream stream = getClass().getResourceAsStream("<valid path to xml>"); 
+0

謝謝,在兩個罐子裏都有不同的文件,我想讀兩個,所以如果我改變順序可能是我將無法從jar1讀取,是這樣嗎? – user1226162

+0

編號我已經更新了 –

+0

以上的答案謝謝,我用你的代碼,但它顯示的行爲相同,它與我的jar1工作正常,但不是jar2,無法找到jar 2文件,我也調整導入順序 – user1226162

相關問題