c filestream streamwriter
Dans ce didacticiel, vous découvrirez System.IO qui est un espace de noms C #. Cet espace de noms fournit des classes C # telles que FileStream, StreamWriter, StreamReader pour gérer les E / S de fichiers:
quel est le meilleur téléchargeur youtube gratuit
Un fichier est essentiellement un objet système stocké dans la mémoire dans un répertoire donné avec un nom et une extension appropriés. En C #, nous appelons un fichier en tant que flux si nous l'utilisons pour écrire ou lire des données.
Dans ce didacticiel, nous examinerons à la fois le flux d'entrée utilisé pour récupérer les données d'un fichier donné et le flux de sortie utilisé pour placer des données dans un fichier.
=> Consultez notre guide de formation ultime C # ici
Ce que vous apprendrez:
Espace de noms System.IO
System.IO est un espace de noms présent dans le C # qui contient des classes qui peuvent être utilisées pour effectuer différentes opérations sur un flux donné comme la création, l'édition et la récupération de données à partir d'un fichier donné.
Jetons un coup d'œil à certaines de ces classes.
C # FileStream
Le flux de fichiers offre un chemin pour effectuer des opérations sur les fichiers. Il est principalement utilisé pour lire et écrire des données dans les fichiers.
Exemple pour écrire dans un fichier:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace ConsoleApp1 { class Program { static void Main(string() args) { FileStream f = new FileStream('d:\b.txt', FileMode.OpenOrCreate); Console.WriteLine('File opened'); f.WriteByte(70); Console.WriteLine('Data written into file'); f.Close(); Console.WriteLine('File Stream closed'); } } }
Ici, nous avons écrit un programme simple pour écrire des données d'un seul octet dans le fichier en utilisant le flux de fichiers. Au début, nous avons créé un objet FileStream et transmis le nom du fichier. Ensuite, nous définissons le mode de fichier pour ouvrir ou créer. Dans le fichier ouvert, nous avons écrit un seul octet en utilisant WriteByte et enfin, nous avons tout fermé.
La sortie est un fichier txt avec un seul octet.
Exemple de lecture d'un fichier
Dans notre exemple précédent, nous avons appris à écrire dans un fichier maintenant, essayons de lire le fichier.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace ConsoleApp1 { class Program { static void Main(string() args) { FileStream f = new FileStream('d:\b.txt', FileMode.OpenOrCreate); Console.WriteLine('File opened'); char a = (char)f.ReadByte(); Console.WriteLine('Data read from file is: '+a); f.Close(); Console.WriteLine('File Stream closed'); Console.ReadLine(); } } }
Ici, nous avons utilisé ReadByte pour lire l'octet du fichier. Cette commande est utilisée pour lire un seul octet du fichier. Si vous voulez lire plus de données, vous devrez les passer à travers une boucle. Nous l'avons ensuite stocké dans une variable char mais comme le type de retour ne correspondra pas toujours à ReadByte, nous avons également ajouté un cast pour char.
Si nous exécutons ce programme, la sortie suivante est observée.
Production
Fichier ouvert
Les données lues à partir du fichier sont: F
Flux de fichiers fermé
C #StreamWriter
La classe StreamWriter en C # est utilisée pour écrire des caractères dans un flux. Il utilise la classe TextWriter comme classe de base et fournit les méthodes de surcharge pour écrire des données dans un fichier.
StreamWriter est principalement utilisé pour écrire plusieurs caractères de données dans un fichier.
Exemple:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace ConsoleApp1 { class Program { static void Main(string() args) { FileStream f = new FileStream('d:\b.txt', FileMode.OpenOrCreate); Console.WriteLine('File opened'); //declared stream writer StreamWriter s = new StreamWriter(f); Console.WriteLine('Writing data to file'); s.WriteLine('Writing data into file using stream writer'); //closing stream writer s.Close(); f.Close(); Console.WriteLine('File Stream closed'); Console.ReadLine(); } } }
Après avoir initialisé l'objet FileStream, nous avons également initialisé l'objet StreamWriter à l'aide de l'objet FileStream. Ensuite, nous avons utilisé la méthode WriteLine pour écrire une seule ligne de données dans le fichier. Nous avons ensuite fermé le StreamWriter, puis le FileStream.
La sortie du code suivant sera un fichier contenant des données utilisateur.
comment convertir char en int en c ++
Production
C #StreamReader
StreamReader est utilisé pour lire des chaînes ou des phrases volumineuses à partir d'un fichier. StreamReader utilise également la classe TextReader comme classe de base, puis propose des méthodes telles que Reading et ReadLine pour lire les données du flux.
Exemple de lecture de données:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace ConsoleApp1 { class Program { static void Main(string() args) { FileStream f = new FileStream('d:\b.txt', FileMode.OpenOrCreate); Console.WriteLine('File opened'); //declared stream reader StreamReader sr = new StreamReader(f); Console.WriteLine('Reading data from the file'); string line = sr.ReadLine(); Console.WriteLine('The data from the file is : ' + line); //closing stream writer sr.Close(); f.Close(); Console.WriteLine('File Stream closed'); Console.ReadLine(); } } }
Ici, nous avons créé un objet à partir du StreamReader en utilisant FileStream. Ensuite, nous avons utilisé une méthode readline simple pour lire les données du fichier. Nous avons fermé le StreamReader puis le FileStream.
Le programme ci-dessus a produit le résultat suivant:
Production:
Fichier ouvert
Lire les données du fichier
Les données du fichier sont: Ecriture de données dans un fichier à l'aide de l'écrivain de flux
Flux de fichiers fermé
comment ouvrir un fichier json
C #TextWriter
En C #, la classe TextWriter est écrite comme une classe abstraite. Il est utilisé pour créer une série séquentielle de caractères à l'intérieur d'un fichier. Il est assez similaire à l'écrivain de flux qui permet également à l'utilisateur d'écrire des caractères séquentiels ou du texte dans un fichier, mais il ne nécessite pas la création de FileStream pour l'opération.
Exemple pour savoir comment fonctionne TextWriter:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace ConsoleApp1 { class Program { static void Main(string() args) { using (TextWriter writer = File.CreateText('d:\textFile.txt')) { writer.WriteLine('The first line with text writer'); } Console.ReadLine(); } } }
Le code ci-dessus fonctionne de manière similaire à StreamWriter. La méthode WriteLine écrit les données dans le fichier. Vous pouvez écrire plusieurs données dans le fichier à l'aide de plusieurs méthodes WriteLine dans le bloc d'instructions using.
La sortie créera un fichier texte avec le texte défini par l'utilisateur.
Production:
C #TextReader
Le lecteur de texte est une autre classe qui se trouve dans System.IO. Il est utilisé pour lire du texte ou tout caractère séquentiel d'un fichier donné.
Exemple:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace ConsoleApp1 { class Program { static void Main(string() args) { using (TextReader txtR = File.OpenText('d:\textFile.txt')) { String data = txtR.ReadToEnd(); Console.WriteLine(data); } Console.ReadLine(); } } }
Dans le programme ci-dessus, nous avons utilisé TextReader pour ouvrir un fichier conservé à un emplacement particulier. Ensuite, nous avons déclaré une variable chaîne pour stocker les données du fichier. La méthode ReadToEnd garantit que toutes les données à l'intérieur du fichier ont été lues. Après cela, nous avons imprimé les données sur la console.
La sortie du programme ci-dessus sera:
La première ligne avec rédacteur de texte
Conclusion
L'espace de noms System.IO à l'intérieur de C # propose diverses classes et méthodes pour permettre aux programmeurs d'effectuer des opérations de lecture-écriture sur différents fichiers. System.IO contient plusieurs classes comme FileStream, StreamReader, StreamWriter, TextReader, TextWriter, etc.
Toutes ces classes fournissent une implémentation spécifique pour les opérations de lecture et d'écriture sur le fichier en fonction des besoins.
Exemple de code
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace ConsoleApp1 { class Program { static void Main(string() args) { FileStream f = new FileStream('d:\b.txt', FileMode.OpenOrCreate); Console.WriteLine('File opened'); f.WriteByte(70); Console.WriteLine('Data written into file'); char a = (char)f.ReadByte(); Console.WriteLine('Data read from file is: ' + a); //declared stream writer StreamWriter s = new StreamWriter(f); Console.WriteLine('Writing data to file'); s.WriteLine('Writing data into file using stream writer'); //declared stream reader StreamReader sr = new StreamReader(f); Console.WriteLine('Reading data from the file'); string line = sr.ReadLine(); Console.WriteLine('The data from the file is : ' + line); //closing stream sr.Close(); f.Close(); Console.WriteLine('File Stream closed'); using (TextWriter writer = File.CreateText('d:\textFile.txt')) { writer.WriteLine('The first line with text writer'); } using (TextReader txtR = File.OpenText('d:\textFile.txt')) { String data = txtR.ReadToEnd(); Console.WriteLine(data); } Console.ReadLine(); } } }
=> Regardez la série complète de formations C # ici
lecture recommandée
- Manipulation de fichiers sous Unix: présentation du système de fichiers Unix
- Caractères spéciaux ou métacaractères Unix pour la manipulation de fichiers
- Autorisations d'accès aux fichiers Unix: Unix Chmod, Chown et Chgrp
- Objets de fichier VBScript: CopyFile, DeleteFile, OpenTextFile, lecture et écriture de fichier texte
- Opérations de sortie de fichier d'entrée en C ++
- Déploiement Java: création et exécution d'un fichier JAR Java
- Comment comparer deux fichiers sous Unix: commandes de comparaison de fichiers
- Scriptage avancé du shell Unix: tableaux, opérateurs de test de fichiers et de chaînes, variables spéciales