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-マスター-SNAPSHOTJavaバージョンOpenJDK1.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(ブリーディングエッジ)は、オブジェクトfileの作成をjava.io.Fileより便利にする関数を提供することに注意してください。あなたは最先端にいるので、以下があなたのために働くはずです:

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