私はleinプロジェクトのresourcesディレクトリの内容を読み出すのに苦労しています。私はそれは、JARとしてパッケージ化されたときだけファイルシステムを使用して動作しないため、リソースを引き出すために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
のコンテンツをローカルディレクトリに書き出すにはどうすればよいですか? (コードはjarファイルにパッケージ化されたときにも動作します!)