필자는 필자의 프로젝트에서 resources 디렉토리의 내용을 읽는 데 어려움을 겪고 있습니다. 지금은 이해 단지 파일 시스템을 사용하는이 병으로 포장 될 때 작동하지 않기 때문에, 자원을 꺼내 clojure.java.io/resource를 사용하는 (잠시 잘못하고 후) :clojure : 리소스로 저장된 zip 파일 압축 해제
> (require '[clojure.java.io :as io])
> (def zipzip (.openStream (io/resource "zip.zip")))
이것은 BufferedInputStream
을 반환합니다. 내가하고 싶은 것은이 zip 파일을 가져 와서 로컬 디렉토리에 압축을 푸는 것입니다. ZipFile
을 만들 수는 없지만 ZipInputStream
을 만들 수 있습니다. 불행히도, 내가 ZipEntries
을 얻을 수는 있지만 실제로는 ZipEntry
의 내용을 읽으려면 ZipFile
이 필요합니다.
> (-> zipzip ZipInputStream. .getNextEntry .getName)
이이 이름을 반환하지만 ZipInputStream
와 그 ZipEntry
의 실제 내용을 얻을 수있는 API 문서에 아무것도 없다 :이 작업을 수행 할 수 있습니다!
ZipInputStream
의 내용을 로컬 디렉토리에 어떻게 기록합니까? (코드가 항아리에 포장되어있을 때도 작동합니다!)