English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Flux (Stream) C#

C# inclut les IO standard (entrée/Classe de sortie) qui peut être lue à partir de différentes sources (par exemple, fichiers, mémoire, réseau, stockage isolé, etc.)/Écrire.

Flux (Stream): System.IO.Stream Il s'agit d'une classe abstraite qui fournit des méthodes standard pour transférer des octets (lecture, écriture, etc.) vers la source. Comme les classes enveloppeuses, il transfère des octets. Il est nécessaire de lire à partir de sources spécifiques/Les classes qui doivent écrire des octets doivent implémenter la classe Stream.

Les classes suivantes héritent de la classe Stream pour fournir la lecture/Fonctionnalités d'écriture d'octets :

FileStream :Lit des octets à partir de fichiers physiques ou écrit des octets dans des fichiers physiques, que ce soit.txt, .exe, .jpg ou tout autre fichier. FileStream est dérivé de la classe Stream.

MemoryStream : MemoryStream lit ou écrit des octets stockés en mémoire.

BufferedStream : BufferedStream lit ou écrit des octets à partir d'autres Stream pour améliorer certaines I / Performance des opérations O.

NetworkStream : NetworkStream lit ou écrit des octets à partir de sockets réseau.

PipeStream : PipeStream lit ou écrit des octets provenant de différents processus.

CryptoStream : CryptoStream est utilisé pour lier un flux de données à une transformation de cryptage.

La figure suivante montre l'arbre hiérarchique des classes de flux :

Arbre hiérarchique des classes de flux

Lecteurs et écrivains de flux

StreamReader:StreamReader est une classe d'aide qui permet de lire des caractères à partir de Stream en convertissant des octets en valeurs de codage. Il peut être utilisé pour lire des chaînes (caractères) à partir de différents flux (par exemple, FileStream, MemoryStream, etc.).

StreamWriter:StreamWriter est une classe d'aide qui permet d'écrire des chaînes en convertissant des caractères en octets. Il peut être utilisé pour écrire des chaînes dans différents flux, tels que FileStream, MemoryStream, etc.

BinaryReader:BinaryReader est une classe d'aide pour lire des types de données originaux à partir d'octets. Il est utilisé comme assistant pour lire des types de données originaux à partir d'octets.

BinaryWriter:BinaryWriter écrit des types de données originaux en binaire.

E/S de flux

L'image ci-dessus montre que FileStream lit des octets à partir de fichiers physiques, puis StreamReader lit des chaînes en convertissant ces octets en chaînes. De même, StreamWriter prend une chaîne et la convertit en octets, puis l'écrit dans FileStream, puis FileStream écrit des octets dans un fichier physique. Par conséquent, FileStream traite des octets, tandis que StreamReader et StreamWriter traitent des chaînes.

 Points à retenir

  1. Stream est une classe abstraite utilisée pour transférer des octets à partir de différentes sources. C'est la classe de base pour toutes les autres classes, qui liront les octets/Écrire dans différentes sources.

  2. La classe FileStream fournit l'accès aux fonctionnalités de lecture/écriture de bytes dans les fichiers physiques.

  3. Les classes de lecteurs/écriteurs fournissent la fonction de lecture de bytes à partir des classes de flux (FileStream, MemoryStream, etc.) et de conversion en encodage approprié.

  4. StreamReader propose une méthode d'assistance pour lire une chaîne à partir de FileStream en convertissant les octets en chaîne. StreamWriter fournit une méthode d'assistance pour écrire une chaîne dans FileStream en convertissant la chaîne en octets.

Dans la partie suivante, apprenez comment lire/Écrire dans le système de fichiers.