Controleren of een directory bestaat

Clojure:
Controleren of een directory bestaat

Hoe:

Gebruik clojure.java.io/file om een File-object te creëren en .exists om te controleren of het bestaat. De isDirectory methode bevestigt of het File een directory is.

(require '[clojure.java.io :as io])

(defn directory-exists? [path]
  (let [dir (io/file path)]
    (and (.exists dir) (.isDirectory dir))))

;; Voorbeeldgebruik:
(directory-exists? "/pad/naar/directory") ;=> waar of onwaar

Voorbeelduitvoer:

waar ; als de directory bestaat
onwaar ; als de directory niet bestaat

Diepgaande Duik

Historisch gezien wordt een vergelijkbaar proces gebruikt in Java; aangezien Clojure op de JVM draait, maakt het gebruik van Java-bibliotheken voor bestandssysteemoperaties. Alternatieven in Clojure zouden het gebruik van andere Java-functies of bibliotheken zoals nio.file.Files kunnen inhouden. Achter de schermen kan het controleren op de aanwezigheid van een directory IO-intensief zijn en kan het zich verschillend gedragen over besturingssystemen en bestandssysteempermissies heen, wat verklaart waarom het verzekeren van zijn bestaan ​​voordat verdere operaties worden uitgevoerd cruciaal is.

Zie Ook