Re: [蟲?] ClassLoader 和 讀取 jar 中的檔案的問題

看板java作者 (Regular Expression)時間17年前 (2007/10/06 13:07), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/5 (看更多)
※ 引述《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
文章代碼(AID): #171nVtL- (java)
討論串 (同標題文章)
文章代碼(AID): #171nVtL- (java)