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"ounilio.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)