Ouverture et fermeture d'un flot

La fonction open permet d'ouvrir un flot sur un fichier. Le premier paramètre obligatoire correspond au chemin d'accès au fichier. Viennent ensuite des paramètres mots-clés, en particulier :direction qui indique le sens du flot, entrée ou sortie (en Anglais : input ou output).

La fonction close ferme un flot ouvert. La connexion entre le flot et le fichier associé est terminée mais l'objet flot existe toujours en tant que flot non ouvert.

La macro with-open-stream exécute un certain nombre d'opérations sur un flot ouvert, renvoie une valeur puis ferme le flot. Elle a deux paramètres. Le premier est un nom de variable qui prendra comme valeur le flot correspondant au deuxième paramètre. Le corps est une suite d'expressions formant un progn implicite.

La macro with-open-file est similaire mais au préalable elle ouvre un flot sur un fichier avec open.

* (defparameter *flot-sortie* (open "fichier" :direction :output))

*FLOT-SORTIE*
* (print '(1 2 3) *flot-sortie*)

(1 2 3)
* (print '(A B)  *flot-sortie*)

(A B)
*  (close *flot-sortie*)

T
* (with-open-file (flot-entree (open "fichier" :direction :input))
    (setf *expr1* (read flot-entree))
    (setf *expr2* (read flot-entree)))

*EXPR2*
* *expr1*

(1 2 3)
* *expr2*

(A B)
*

Irene DURAND
2011-10-14