Clojure:
Rédiger un fichier texte

Comment faire :

Écrire du texte dans un fichier en utilisant les fonctions intégrées de Clojure

La fonction spit est le moyen le plus simple d’écrire du texte dans un fichier en Clojure. Elle prend deux arguments : le chemin du fichier et la chaîne à écrire. Si le fichier n’existe pas, spit le créera. S’il existe, spit l’écrasera.

(spit "exemple.txt" "Bonjour, monde !")

Pour ajouter du texte à un fichier existant, vous pouvez utiliser la fonction spit avec l’option :append.

(spit "exemple.txt" "\nAjoutons cette nouvelle ligne." :append true)

Après l’exécution de ces extraits, “exemple.txt” contiendra :

Bonjour, monde !
Ajoutons cette nouvelle ligne.

Utiliser des bibliothèques tierces

Bien que les capacités intégrées de Clojure soient souvent suffisantes, la communauté a développé des bibliothèques robustes pour des tâches plus complexes ou spécifiques. Pour les entrées/sorties de fichiers, une bibliothèque populaire est clojure.java.io, qui propose une approche plus proche de Java pour la gestion des fichiers.

Pour utiliser clojure.java.io pour écrire dans un fichier, vous devez d’abord l’importer :

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

Ensuite, vous pouvez utiliser la fonction writer pour obtenir un objet writer, et la fonction spit (ou d’autres comme print, println) pour écrire dans le fichier :

(with-open [w (io/writer "exemple_avec_io.txt")]
  (.write w "Ceci est écrit en utilisant clojure.java.io"))

Cela créera (ou écrasera s’il existe déjà) “exemple_avec_io.txt” avec le texte :

Ceci est écrit en utilisant clojure.java.io

Souvenez-vous : with-open garantit que le fichier est correctement fermé après l’écriture, évitant les fuites de ressources potentielles.