C# - E/S de fichiers
Un fichier est une collection de données stockées sur un disque avec un nom spécifique et un chemin de répertoire. Lorsqu'un fichier est ouvert en lecture ou en écriture, il devient un flux .
Le flux est essentiellement la séquence d'octets passant par le chemin de communication. Il existe deux flux principaux :le flux d'entrée et le flux de sortie . Leflux d'entrée est utilisé pour lire les données du fichier (opération de lecture) et le flux de sortie est utilisé pour écrire dans le fichier (opération d'écriture).
Classes d'E/S C#
L'espace de noms System.IO a différentes classes qui sont utilisées pour effectuer de nombreuses opérations avec des fichiers, telles que la création et la suppression de fichiers, la lecture ou l'écriture dans un fichier, la fermeture d'un fichier, etc.
Le tableau suivant montre certaines classes non abstraites couramment utilisées dans l'espace de noms System.IO −
Sr.No. | Classe et description d'E/S |
---|---|
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 |
La classe FileStream
Le FileStream La classe dans l'espace de noms System.IO aide à lire, écrire et fermer des fichiers. Cette classe dérive de la classe abstraite Stream.
Vous devez créer un FileStream objet pour créer un nouveau fichier ou ouvrir un fichier existant. La syntaxe pour créer un FileStream l'objet est le suivant −
FileStream <object_name> = new FileStream( <file_name>, <FileMode Enumerator>, <FileAccess Enumerator>, <FileShare Enumerator>);
Par exemple, nous créons un objet FileStream F pour lire un fichier nommé sample.txt comme indiqué −
FileStream F = new FileStream("sample.txt", FileMode.Open, FileAccess.Read, FileShare.Read);
Sr.No. | Paramètre et description |
---|---|
1 | |
2 | |
3 |
Exemple
Le programme suivant illustre l'utilisation de FileStream classe −
Démo en directusing System; using System.IO; namespace FileIOApplication { class Program { static void Main(string[] args) { FileStream F = new FileStream("test.dat", FileMode.OpenOrCreate, FileAccess.ReadWrite); for (int i = 1; i <= 20; i++) { F.WriteByte((byte)i); } F.Position = 0; for (int i = 0; i <= 20; i++) { Console.Write(F.ReadByte() + " "); } F.Close(); Console.ReadKey(); } } }
Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant −
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 -1
Opérations avancées sur les fichiers en C#
L'exemple précédent fournit des opérations de fichiers simples en C#. Cependant, pour utiliser les immenses pouvoirs des classes C# System.IO, vous devez connaître les propriétés et les méthodes couramment utilisées de ces classes.
Sr.No. | Sujet et description |
---|---|
1 | Lecture et écriture dans des fichiers texte Cela implique de lire et d'écrire dans des fichiers texte. Le StreamReader et StreamWriter la classe aide à l'accomplir. |
2 | Lecture et écriture dans des fichiers binaires Cela implique de lire et d'écrire dans des fichiers binaires. Le lecteur binaire et BinaryWriter la classe aide à accomplir cela. |
3 | Manipulation du système de fichiers Windows Il donne à un programmeur C # la possibilité de parcourir et de localiser des fichiers et des répertoires Windows. |
Langue C