我想用clojure壓縮文件夾遞歸。這種文件夾的一個例子是如何用Clojure遞歸壓縮文件夾
├── a
├── b
│ ├── c
│ │ └── ccc.txt
│ └── bb.txt
├── c
├── a.txt
└── b.txt
選項1:使用OS從內的Clojure
什麼與zip
在Ubuntu是執行在該結構中的根目錄以下的工作原理:
zip -r result.zip *
但是你必須在工作目錄中才能做到這一點。使用絕對路徑會產生其他結果,而忽略所有路徑將會使結構趨於平坦。
問題是,你不能改變工作目錄中的Clojure,不是我所知道的是..
選項2:使用本地的Clojure(或Java)
這應該是可能的,我在Clojure或Java包裝中發現了一些zip實現。但其中大多數是單個文件。
這可能是一個解決辦法:http://www.java-forums.org/blogs/java-io/973-how-work-zip-files-java.html
但在此之前我嘗試了這一點,我想現在還是沒有一個很好的Clojure庫周圍。
非常好!我有時間檢查一下,但是如果結果真的肯定會接受。 – Peter 2014-11-21 17:14:44
整潔但不遞歸:) – 2014-11-21 17:20:10
@JamesSharp'file-seq'使用'tree-seq',這是一個深度優先的步行。 – Kyle 2014-11-21 17:26:10