Java命令lastModified()在Clojure中不起作用

ble*_*fly 3 java io openjdk file clojure

我试图通过执行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

Mic*_*zyk 7

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

(.lastModified (java.io.File. "/home/lol/lolness.txt"))
Run Code Online (Sandbox Code Playgroud)

请注意,名称空间clojure.contrib.java-utils(1.1)/ clojure.java.io(前沿)提供了一个file使java.io.File对象创建更方便的功能.由于您处于最前沿,以下内容对您有用:

(require '[clojure.java.io :as io])
(.lastModified (io/file "/home/lol/lolness.txt"))
Run Code Online (Sandbox Code Playgroud)