6
我一直在努力閱讀我的lein項目中資源目錄的內容。我現在明白了使用clojure.java.io/resource拉了資源,因爲只是用文件系統,當它被打包爲一個jar不起作用(做錯了一段時間後):clojure:解壓縮存儲爲資源的zip文件
> (require '[clojure.java.io :as io])
> (def zipzip (.openStream (io/resource "zip.zip")))
這會返回一個BufferedInputStream
。我想要做的就是把這個zip文件解壓縮到本地目錄。我無法制作一個ZipFile
,但我可以製作一個ZipInputStream
。不幸的是,儘管我可以得到ZipEntries
,但我需要一個ZipFile
來實際讀取ZipEntry
的內容。我可以這樣做:
> (-> zipzip ZipInputStream. .getNextEntry .getName)
這將返回的名字,但並沒有什麼API文檔與ZipInputStream
來獲取ZipEntry
的實際內容!
如何將此ZipInputStream
中的內容寫出到本地目錄? (當代碼打包成罐子時也可以)!