Haskell:
Rédiger un fichier texte

Comment faire :

Le Prelude standard d’Haskell fournit un support élémentaire pour l’écriture dans des fichiers en utilisant les fonctions writeFile et appendFile du module System.IO. Voici un exemple de base pour créer un nouveau fichier (ou écraser un existant) puis ajouter du texte à un fichier.

import System.IO

-- Écrire dans un fichier, en l'écrasant s'il existe
main :: IO ()
main = do
  writeFile "example.txt" "Ceci est la première ligne.\n"
  appendFile "example.txt" "Ceci est la deuxième ligne.\n"

Lorsque vous exécutez ce programme, il crée (ou vide) example.txt et écrit “Ceci est la première ligne.” suivi de “Ceci est la deuxième ligne.” à la ligne suivante.

Pour une gestion des fichiers plus avancée, les programmeurs Haskell se tournent souvent vers le paquet text pour un traitement efficace des chaînes de caractères et le paquet bytestring pour la gestion des données binaires. Voici comment utiliser le paquet text pour l’IO de fichiers :

D’abord, vous devez ajouter text aux dépendances de votre projet. Ensuite, vous pouvez l’utiliser comme suit :

import qualified Data.Text as T
import qualified Data.Text.IO as TIO

-- Écrire dans un fichier en utilisant le paquet text
main :: IO ()
main = do
  let content = T.pack "Utilisation du paquet text pour une meilleure performance.\n"
  TIO.writeFile "textExample.txt" content
  TIO.appendFile "textExample.txt" $ T.pack "Ajout de la deuxième ligne.\n"

Dans cet extrait, T.pack convertit une String ordinaire en le type Text, qui est plus efficace. TIO.writeFile et TIO.appendFile sont les équivalents dans le paquet text pour écrire et ajouter à des fichiers, respectivement.

L’exécution de ce code résultera en un fichier nommé textExample.txt avec deux lignes de texte, démontrant à la fois les capacités de création et d’ajout en utilisant la bibliothèque text avancée pour une meilleure performance et une meilleure capacité de gestion du texte Unicode.