2015-06-08 165 views
-2

我正在嘗試讀取jar文件的內容。下面的代碼我已經寫了這個。我已經將jar文件放在lib目錄下(\ practice \ lib \ abc.jar)。如何從jar中讀取xml文件

final InputStream is = JarReader.class.getResourceAsStream("/abc.jar"); 
     BufferedReader input = new BufferedReader(new InputStreamReader(is)); 
     Scanner scan = new Scanner(input); 
     while (scan.hasNext()) { 
      String s = scan.next(); 
      System.out.println(s); 
     } 
     scan.close(); 

每次inputStream都爲空。後下我用我的參考 getResourceAsStream returns null How to read a file from jar in Java?

+1

等等呢?你希望我們爲你寫代碼嗎?你有什麼嘗試?什麼不按預期工作? – stellasia

+0

我試着用下面的代碼final InputStream internalMetadataInputStream = this.getClass()。getClassLoader() \t \t \t \t .getResourceAsStream(DirString); \t \t BufferedReader inp = new BufferedReader(new InputStreamReader(internalMetadataInputStream)); \t \t \t \t Scanner scan = new Scanner(inp); \t \t dl.debug(「scan.hasNext()::」+ scan.hasNext()); (scan.hasNext()){ \t while(scan.hasNext()){ \t String s = scan.next(); \t \t} \t scan.close();但它正在逐行掃描文件內容。 –

+0

請用這段代碼編輯你的問題(這會更容易閱讀)。謝謝。 – stellasia

回答

0

String s = scan.next();

這行代碼將讀取行後的文件行。這取決於你如何使用這些線。您可能需要創建StringBuilder並繼續追加這些行。或者,如果您願意,可以將其存儲爲純字符串或其他內容。

但是你已經有了你的文件(以單行的形式)。

+0

有沒有其他方法可以獲取文件。我無法使用File api,因爲它正在從自己的根目錄搜索文件。 –

+2

http://stackoverflow.com/a/3370096/2231632 - 你要做的就是搜索。 :) – prabugp