Lire et écrire un fichier sont des tâches de base indispensables dans de nombreux programmes Lua.
Lecture d’un fichier
Lecture du fichier en une seule fois (mode slurp) :
|
|
Lecture ligne par ligne :
|
|
Écriture dans un fichier
|
|
seek()
seek()
permet de déplacer le curseur de lecture/écriture dans un fichier.
Par exemple :
|
|
seek()
accepte deux paramètres :
- whence :
"set"
,"cur"
(par défaut), ou"end"
- offset : un entier indiquant la position relative à
whence
Les modes d’ouverture
Mode | Description |
---|---|
"r" |
Lecture seule (défaut) |
"w" |
Écriture seule (efface le fichier existant) |
"a" |
Ajout à la fin du fichier |
"r+" |
Lecture et écriture (fichier existant) |
"w+" |
Lecture/écriture (écrase le fichier ou en crée un nouveau) |
"a+" |
Lecture et ajout (ouvre un fichier ou le crée) |
Modes de lecture de read()
Mode | Description |
---|---|
"*n" |
Lit un nombre |
"*a" |
Lit tout le contenu depuis la position actuelle |
"*l" |
Lit une ligne |
nombre | Lit le nombre spécifié d’octets |
Autres fonctions utiles
io.tmpfile()
: Crée un fichier temporaire (automatiquement supprimé à la fin du programme)io.type(fichier)
: Renvoie"file"
,"closed file"
ounil
io.flush()
: Vide le tampon de sortie par défautio.lines([fichier])
: Itère ligne par ligne (et ferme automatiquement le fichier si un nom est fourni)