【发布时间】:2018-03-11 08:06:24
【问题描述】:
我有一个这样的文件夹结构:
- 资源
- 一个
- b
- x.txt
- c
- x.txt
- b
- 一个
我用lein uberjar 创建了我的可运行jar。
运行我的 jar 时,我想列出 a 的子文件夹。
我知道我可以使用 clojure.java.io 获取 resources/a/b/x.txt 的内容
(slurp (clojure.java.io/resource "a/b/x.txt"))
但我找不到列出子文件夹的简单方法。
(clojure.java.io/file (clojure.java.io/resource "a")) 只会生成java.lang.IllegalArgumentException: Not a file,因为它不是文件,而是 jar 文件中的资源。
有没有这样的图书馆?
【问题讨论】:
-
这些都没有显示 1) 一种简单的方法来执行此操作 2) 执行此操作的库。我拒绝接受这个问题的答案是一大堆 Java 代码。
-
嗯.. 将 java 代码转换为 clojure 是一项微不足道的任务。
-
这可以通过 shell 中的单行来完成 (
zipinfo -1 ...)。你需要用clojure代码来做吗?