File Clojure,raynes.fs,iterate dir:一种与文件相关的神秘数据结构
我正在尝试使用raynes.fs库中的iterate dir函数遍历文件系统树: 除了返回的向量序列中的“文件”部分之外,一切都是有意义的(我试图从剪贴板捕获输出,并为研究目的定义一个变量):File Clojure,raynes.fs,iterate dir:一种与文件相关的神秘数据结构,file,clojure,filesystems,File,Clojure,Filesystems,我正在尝试使用raynes.fs库中的iterate dir函数遍历文件系统树: 除了返回的向量序列中的“文件”部分之外,一切都是有意义的(我试图从剪贴板捕获输出,并为研究目的定义一个变量): 上面的序列已排序,但不是我想要的那样。文件对象是标准的java.io.File实例 您可以在javadoc中查找java.io.File,找到可以在文件上执行的操作 与大多数java类一样,它不支持Clojure读取,因此必须通过构造函数调用来创建它(例如,(java.io.File.”),以获取当前目录
上面的序列已排序,但不是我想要的那样。文件对象是标准的
java.io.File
实例
您可以在javadoc中查找java.io.File
,找到可以在文件上执行的操作
与大多数java类一样,它不支持Clojure读取,因此必须通过构造函数调用来创建它(例如,(java.io.File.”)
,以获取当前目录的文件
正如iterate dir
的文档所提到的,它将返回树中从输入开始的每个节点的序列。如果文件中没有您想要的内容,您可以忽略该文件。很可能,在每个节点上,您都希望知道该节点的路径
user> (java.io.File. ".")
#<File .>
user> (.getCanonicalPath (java.io.File. "."))
"/home/noisesmith/example/"
user>(java.io.File.)
#
用户>(.getCanonicalPath(java.io.File.“.”)
“/home/noisesmith/example/”
(sort compare (fs/iterate-dir path))
user> (java.io.File. ".")
#<File .>
user> (.getCanonicalPath (java.io.File. "."))
"/home/noisesmith/example/"