Fichier texte
Un fichier texte est une structure de données contenant des caractères. Chaque ligne du fichier texte se termine par le code de Fin de ligne (Return) et la fin de fichier est indiquée par un code de Fin de fichier. Le fichier se trouve sur un périphérique et il faut établir un lien entre le système d'exploitation et l'application. Ce lien appelé flux d'entrée (In) ou de flux de sortie (Out) permet le transfert d'informations.
Le Package System.IO
Le package IO contient des classes relatives aux fichiers texte pour la lecture/écriture de flux de données et la prise en charge de fichiers et de répertoires. Ce package doit être inclus au début du code source avec l'instruction using System.IO;.
Les classes File et Directory
Ces deux classes offrent des méthodes pour la manipulation de fichiers et de répertoires. Voici quelques méthodes.
| Méthode | Valeur de retour | Description |
|---|---|---|
bool | Détermine si le fichier spécifié existe ou non sur le disque. | |
bool | Détermine si le chemin d'accès spécifié réfère à un répertoire existant sur le disque. | |
string [ ] | Retourne dans un tableau de chaines, le nom complet des fichiers contenus dans le répertoire spécifié. janvier.txt, fevrier.txt, mars.txt le tableau contiendra les chaines suivantes : | |
Définit le répertoire de travail actif de l'application avec le répertoire spécifié. bin\debug. |
La classe StreamReader : lecture dans un fichier texte
| Constructeur | Description |
|---|---|
Initialise une instance de la classe pour le nom de fichier spécifié en paramètre. Le fichier est ouvert en mode Lecture, et le pointeur de lecture au début du fichier est positionné au début du fichier. |
| Propriété | Type | Description |
|---|---|---|
bool | Obtient une valeur indiquant si la position actuelle du pointeur de lecture se trouve à la fin du fichier, c'est-à-dire sur le code de Fin de fichier. |
| Méthode | Valeur de retour | Description |
|---|---|---|
string | Retourne les caractères lus à partir du début de la ligne actuelle jusqu'au code de Fin de ligne (Return). Après la lecture de la ligne, le pointeur de lecture se trouve au début de la prochaine ligne à lire. | |
string | Retourne les caractères lus de la position actuelle du pointeur jusqu'au code de Fin de fichier. Après la lecture, le pointeur se trouve sur le code de Fin de fichier. | |
void | Ferme l'objet StreamReader et le flux d'entrée sous-jacent et libère les ressources. |
La classe StreamWriter : écriture dans un fichier texte
| Constructeur | Description |
|---|---|
Initialise une instance de la classe pour le nom de fichier spécifié en paramètre. Le fichier est ouvert en mode Écriture et le pointeur de lecture au début du fichier est positionné au début du fichier. Si le fichier n'existe pas, il est créé. | |
Initialise une nouvelle instance de la classe pour le nom de fichier spécifié en paramètre. Le fichier est ouvert en mode Append (Ajout) si le 2e paramètre est true. Dans ce mode, si le fichier n'existe pas, il est créé et le pointeur de lecture est placé au début du ficher mais s'il existe, le pointeur est placé à la fin du fichier. |
| Méthode | Valeur de retour | Description |
|---|---|---|
void | Écrit à la position du pointeur de lecture le paramètre pChaine, suivie du code de Fin de ligne. | |
void | Écrit à la position du pointeur de lecture, le paramètre pChaine. Bonne journée. | |
void | Ferme l'objet StreamWriter et le flux de sortie sous-jacent et libère les ressources du fichier using, les ressources sont libérées et il n'est pas nécessaire de fermer l'objet de lecture avec .Close() |
Exemple : Lecture d'un fichier nommé "Autos.txt" pour afficher son contenu sur la console.
// Instancier un objet de lecture.
StreamReader objFichierALire = new StreamReader("Autos.txt");
// Tant qu'il y a des caractères à lire
while (!objFichierALire.EndOfStream)
{
// Lire une ligne du fichier.
string ligneLue = objFichierALire.ReadLine();
// Afficher la ligne lue sur la console.
Console.WriteLine(ligneLue);
}
// Fermer le fichier.
objFichierALire.Close();