Re: [蟲?] ClassLoader 和 讀取 jar 中的檔案的問題
※ 引述《willieliao (Willie Liao)》之銘言:
: ※ 引述《slalala (ptt不是丁丁知識+)》之銘言:
: : 我也在Javaworld也看到這個問題。
: : 只是這個方式用BufferedReader只能讀取文字檔案吧??
: : 如果我需要寫入一個特殊格式的檔案,例如*.mp3 *.wav或者*.mdb *.pdf
: : 請問我該怎麼實作呢?
: : 因為不管怎樣,包裝成JAR之後,讀取file的方式一定會失敗。
: : 所以應該讀取成串流的方式...
: //從JAR中讀取任何檔案
: InputStream is = getClass().getResourceAsStream("..");
: byte[] b = new byte[is.available()];
: is.read(b);
: is.close();
: //寫出去
: FileoutputStream fos = new FileoutputStream(new File("..."));
: fos.write(b);
: fos.close();
補充一下
getClass().getResourceAsStream("config.properties");
是從目前class所在的目錄下讀取檔案,也就是檔案要跟class放在一起
如果用 getClass().getResourceAsStream("/config.properties");
會從class所屬的package最上層目錄去找檔案,例如 package為:
my.fun.ap 則會找 my/config.properties
至於要不要讓檔案跟class放在一起,那就需要評估看看了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.99.15.253
討論串 (同標題文章)
java 近期熱門文章
PTT數位生活區 即時熱門文章