Überprüfung, ob ein Verzeichnis existiert

Clojure:
Überprüfung, ob ein Verzeichnis existiert

Wie man es macht:

Da Clojure eine JVM-Sprache ist, kann es für diesen Zweck die java.io.File Klasse von Java nutzen. Für eine solch grundlegende Operation benötigen Sie keine Drittanbieter-Bibliothek. So können Sie es machen:

(import 'java.io.File)

(defn directory-exists? [dir-path]
  (let [dir (File. dir-path)]
    (.exists dir)))

;; Beispielverwendung
(println (directory-exists? "/path/to/your/directory")) ;; wahr oder falsch

Diese Funktion, directory-exists?, nimmt einen Verzeichnispfad als String entgegen und gibt true zurück, wenn das Verzeichnis existiert, und false anderweitig. Dies wird erreicht, indem ein File-Objekt mit dem Verzeichnispfad erstellt und dann die Methode .exists auf dieses Objekt aufgerufen wird.

Zusätzlich zur direkten Java-Interop-Kompatibilität können Sie Clojure-Bibliotheken nutzen, die einen Teil des Java-Boilerplates abstrahieren. Eine solche Bibliothek ist clojure.java.io. Allerdings würden Sie für das Überprüfen, ob ein Verzeichnis existiert, immer noch die File-Klasse verwenden, aber Sie könnten die Bibliothek nützlich für andere Dateioperationen finden. Beispiel:

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

(defn directory-exists?-clojure [dir-path]
  (.exists (io/file dir-path)))

;; Beispielverwendung
(println (directory-exists?-clojure "/another/path/to/check")) ;; wahr oder falsch

Diese Version ist recht ähnlich, verwendet jedoch die Clojure io/file-Funktion, um das File-Objekt zu erstellen. Diese Methode fügt sich natürlicher in Clojure-Codebasen ein, indem sie Clojures Bibliothek für IO-Operationen nutzt, anstatt direkt mit Java-Klassen zu interagieren.