我想用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