Clojure:
Kontrollera om en katalog existerar
Hur man gör:
Clojure, som är ett JVM-språk, kan använda Java-klassen java.io.File
för detta ändamål. Du behöver inget tredjepartsbibliotek för en sådan grundläggande operation. Så här kan du göra det:
(import 'java.io.File)
(defn directory-exists? [dir-path]
(let [dir (File. dir-path)]
(.exists dir)))
;; Exempelanvändning
(println (directory-exists? "/path/to/your/directory")) ;; sant eller falskt
Denna funktion, directory-exists?
, tar en katalogväg som en sträng och returnerar true
om katalogen finns och false
annars. Detta uppnås genom att skapa ett File
-objekt med katalogvägen och sedan anropa metoden .exists
på detta objekt.
Utöver ren Java-interoperabilitet kan du använda Clojure-bibliotek som abstraherar bort en del av Java-boilerplate. Ett sådant bibliotek är clojure.java.io
. Dock skulle du fortfarande använda File
-klassen för att kontrollera om en katalog finns, men du kan tycka att biblioteket är användbart för andra filoperationer. Exempel:
(require '[clojure.java.io :as io])
(defn directory-exists?-clojure [dir-path]
(.exists (io/file dir-path)))
;; Exempelanvändning
(println (directory-exists?-clojure "/another/path/to/check")) ;; sant eller falskt
Denna version är ganska lik men använder Clojure-funktionen io/file
för att skapa File
-objektet. Denna metod blandar mer naturligt in i Clojure-kodbaser genom att utnyttja Clojures bibliotek för IO-operationer, snarare än att direkt gränssnitt med Java-klasser.