Verifica se una directory esiste

Clojure:
Verifica se una directory esiste

Come fare:

Clojure, essendo un linguaggio JVM, può utilizzare la classe java.io.File di Java per questo scopo. Non hai bisogno di alcuna libreria di terze parti per un’operazione così basilare. Ecco come puoi farlo:

(import 'java.io.File)

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

;; Esempio di utilizzo
(println (directory-exists? "/path/to/your/directory")) ;; vero o falso

Questa funzione, directory-exists?, prende un percorso di directory come stringa e restituisce true se la directory esiste e false altrimenti. Questo è ottenuto creando un oggetto File con il percorso della directory e poi chiamando il metodo .exists su questo oggetto.

Oltre all’interop Java grezzo, puoi utilizzare le librerie di Clojure che astraggono parte del boilerplate Java. Una di queste librerie è clojure.java.io. Tuttavia, per verificare se una directory esiste, si utilizzerebbe comunque la classe File, ma potresti trovare la libreria utile per altre operazioni sui file. Esempio:

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

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

;; Esempio di utilizzo
(println (directory-exists?-clojure "/another/path/to/check")) ;; vero o falso

Questa versione è molto simile ma usa la funzione io/file di Clojure per creare l’oggetto File. Questo metodo si integra più naturalmente nei codici Clojure sfruttando la libreria di Clojure per le operazioni IO, piuttosto che interfacciarsi direttamente con le classi Java.