3

我试图通过执行 Java 命令从 Clojure 中的文件中获取最后修改时间。通过使用 java.io.File.lastModified 我应该能够获得 UNIX 时间,这不能通过执行脚本或在 REPL 中工作。

我的代码是:(java.io.File.lastModified "/home/lol/lolness.txt")

我的错误是: java.lang.ClassNotFoundException: java.io.File.lastModified (NO_SOURCE_FILE:24)

(java.io.File.separator) 但是有效。

编辑:Clojure 版本 1.2.0-master-SNAPSHOT Java 版本 OpenJDK 1.6.0

4

1 回答 1

7

lastModifiedjava.io.File对象的一种方法。要在 Clojure 中访问它,请使用以下语法:

(.lastModified (java.io.File. "/home/lol/lolness.txt"))

请注意,命名空间clojure.contrib.java-utils(1.1) / clojure.java.io(bleeding edge) 提供了一个功能,可以更方便file地创建对象。java.io.File由于您处于最前沿,因此以下内容应该适合您:

(require '[clojure.java.io :as io])
(.lastModified (io/file "/home/lol/lolness.txt"))
于 2010-07-04T20:30:35.720 回答