13

由于Path类没有公共构造函数,因此路径对象是使用对象中的get工厂方法创建的Paths

例如

Path p2 = Paths.get("/home/admin","Migrations","/blog/tables/6-rating.xml");

//or

Path p2 = Paths.get(new URI("file://home/debianaut/Migrations/blog.sakhunzai/tables/6-rating.xml"));

我们如何以clojure方式做到这一点?

4

1 回答 1

14
user> (java.nio.file.Paths/get "/home/justin" (into-array [".lein" "profiles.clj"]))
#<UnixPath /home/justin/.lein/profiles.clj>

可变参数 java 方法需要一个包含所有剩余参数的数组作为它们的最终参数。

为了使方法调度匹配正确的方法,需要数组外的第一个字符串。

为了完整起见,这里是一个使用 URI 的示例(更直接):

user> (java.nio.file.Paths/get (java.net.URI. "file:///home/justin"))
#<UnixPath /home/justin>
于 2014-08-05T18:25:51.697 回答