從Jar檔案裡面讀取檔案

2021-08-27 04:24:49 字數 491 閱讀 4984

我們知道,當jar放入classpath中時,可以通過getresourceasstream來取到其包含的普通檔案,比如a包下有個b.txt檔案,呼叫類叫someclass,於是可以如下取到:

someclass.getclass().getresourceasstream("/a/b.txt");

但是有時候這個jar不是放在classpath中的,怎麼取呢?這個方法不好用了,如果想用,只有把jar通過程式動態地加入classpath中,再用上面的方法做,這個方法我好像以前試過,貌似不好用,即使好用,還是有點麻煩.不如用下面的辦法最簡單,比如這個jar的位置是:d/lib/my.jar,同樣要取出b.txt,於是你可以如下得到其輸出流,從而進行內容提取.

url  url = new url("jar:file:/d/lib/my.jar!/a/b.txt");  

url.openstream();

Java檔案讀取 jar包內檔案讀取

最近遇到一些jar包內外配置檔案讀取的問題。索性自己測試總結一下,與大家分享。主要是關於classloader.getresource和class.getresource方法路徑區別的問題。1.絕對路徑檔案讀取,最簡單,最直接的方式 從絕對路徑讀取檔案,最基本的檔案讀取方式 author lihzh...

讀jar包裡面多個檔案

程式有一堆檔案要讀,並且要打jar包。讓其他程式呼叫 this.class.getclassloader getresource只能讀到檔名 this.class.getclassloader getresourceasstream也只能讀到單獨乙個檔案 於是想到乙個辦法,把這堆檔案打zip包。通過...

讀取Jar中的json檔案

現在操作json的jar 都是用的fastjson,如果需要讀取的json檔案不在jar包裡面,則可以這樣獲取到 string path this getclass getclassloader getresource json abc.json getpath 該目錄是以resources目錄為根...