Clojure:
Vérifier si un répertoire existe
Comment :
Clojure, étant un langage JVM, peut utiliser la classe java.io.File
de Java à cette fin. Vous n’avez pas besoin de bibliothèque tierce pour une opération aussi basique. Voici comment vous pouvez procéder :
(import 'java.io.File)
(defn directory-exists? [dir-path]
(let [dir (File. dir-path)]
(.exists dir)))
;; Exemple d'utilisation
(println (directory-exists? "/path/to/your/directory")) ;; true or false
Cette fonction, directory-exists?
, prend un chemin de répertoire sous forme de chaîne et retourne true
si le répertoire existe et false
dans le cas contraire. Cela est réalisé en créant un objet File
avec le chemin du répertoire, puis en appelant la méthode .exists
sur cet objet.
En plus de l’interopérabilité brute avec Java, vous pouvez utiliser des bibliothèques Clojure qui abstraient une partie du code standard Java. Une de ces bibliothèques est clojure.java.io
. Cependant, pour vérifier si un répertoire existe, vous utiliserez toujours la classe File
, mais vous pourriez trouver la bibliothèque utile pour d’autres opérations sur les fichiers. Exemple :
(require '[clojure.java.io :as io])
(defn directory-exists?-clojure [dir-path]
(.exists (io/file dir-path)))
;; Exemple d'utilisation
(println (directory-exists?-clojure "/another/path/to/check")) ;; true or false
Cette version est assez similaire mais utilise la fonction io/file
de Clojure pour créer l’objet File
. Cette méthode s’intègre plus naturellement dans les bases de code Clojure en tirant parti de la bibliothèque Clojure pour les opérations d’IO, plutôt qu’en interfaçant directement avec les classes Java.