1. 程式人生 > >Java讀取jar包下的檔案

Java讀取jar包下的檔案

問題描述

讀取jar包下面的檔案,當程式在eclipse裡面的時候,classpath下的檔案可以讀取到,可一旦將程式打成jar包,則檔案讀取不到

解決方案

//獲取InputStream流的時候,使用下面的方式獲取,在eclipse工程/jar包下都不會出錯
//path裡面的值從jar包的根目錄下開始寫
InputStream is=Test.class.getClassLoader().getResourceAsStream("bbb.txt");

相關方法

//下面這種方式可以獲取到jar包路徑,比如/test/aaa.jar,但是我們無法在路徑後面獲取到jar包裡面的檔案
Test.class
.getProtectionDomain().getCodeSource().getLocation().getPath(); //下面這種方式可以得到jar包裡面檔案的路徑,比如/test/aaa.jar!bbb.txt //在eclipse工程裡可以讀取檔案,但是打成jar包以後依然讀取不到檔案流 Test.class.getClassLoader().getResource("bbb.txt").getPath();