Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

Stream, classe

Donne une vue générique d'une séquence d'octets.

System.Object
  System.MarshalByRefObject
    System.IO.Stream
      En savoir plus...

Espace de noms :  System.IO
Assembly :  mscorlib (dans mscorlib.dll)
[SerializableAttribute]
[ComVisibleAttribute(true)]
public abstract class Stream : MarshalByRefObject, 
	IDisposable

Le type Stream expose les membres suivants.

  Nom Description
Méthode protégée Pris en charge par XNA Framework 8f86tw9e.PortableClassLibrary(fr-fr,VS.100).gif Stream Initialise une nouvelle instance de la classe Stream.
Début
  Nom Description
Propriété publique Pris en charge par XNA Framework 8f86tw9e.PortableClassLibrary(fr-fr,VS.100).gif CanRead En cas de substitution dans une classe dérivée, obtient une valeur indiquant si le flux actuel prend en charge l'écriture.
Propriété publique Pris en charge par XNA Framework 8f86tw9e.PortableClassLibrary(fr-fr,VS.100).gif CanSeek En cas de substitution dans une classe dérivée, obtient une valeur indiquant si le flux actuel prend en charge la recherche.
Propriété publique Pris en charge par XNA Framework 8f86tw9e.PortableClassLibrary(fr-fr,VS.100).gif CanTimeout Obtient une valeur qui détermine si le flux actuel peut expirer.
Propriété publique Pris en charge par XNA Framework 8f86tw9e.PortableClassLibrary(fr-fr,VS.100).gif CanWrite En cas de substitution dans une classe dérivée, obtient une valeur indiquant si le flux actuel prend en charge l'écriture.
Propriété publique Pris en charge par XNA Framework 8f86tw9e.PortableClassLibrary(fr-fr,VS.100).gif Length En cas de substitution dans une classe dérivée, obtient la longueur du flux en octets.
Propriété publique Pris en charge par XNA Framework 8f86tw9e.PortableClassLibrary(fr-fr,VS.100).gif Position En cas de substitution dans une classe dérivée, obtient la position actuelle dans le flux.
Propriété publique Pris en charge par XNA Framework 8f86tw9e.PortableClassLibrary(fr-fr,VS.100).gif ReadTimeout Obtient ou définit une valeur exprimée en millisecondes qui définit la durée pendant laquelle le flux tentera d'effectuer la lecture avant d'arriver à expiration.
Propriété publique Pris en charge par XNA Framework 8f86tw9e.PortableClassLibrary(fr-fr,VS.100).gif WriteTimeout Obtient ou définit une valeur exprimée en millisecondes qui définit la durée pendant laquelle le flux tentera d'inscrire des données avant d'arriver à expiration.
Début
  Nom Description
Méthode publique Pris en charge par XNA Framework 8f86tw9e.PortableClassLibrary(fr-fr,VS.100).gif BeginRead Débute une opération de lecture asynchrone.
Méthode publique Pris en charge par XNA Framework 8f86tw9e.PortableClassLibrary(fr-fr,VS.100).gif BeginWrite Débute une opération d'écriture asynchrone.
Méthode publique Pris en charge par XNA Framework Close Ferme le flux actuel et libère les ressources (telles que les sockets et les handles de fichiers) associées à celui-ci.
Méthode publique CopyTo(Stream) Lit les octets à partir du flux actuel et les écrit dans le flux de destination.
Méthode publique CopyTo(Stream, Int32) Lit tous les octets du flux actuel et les écrit dans un flux de destination, à l'aide d'une taille de mémoire tampon spécifiée.
Méthode publique CreateObjRef Crée un objet contenant toutes les informations appropriées requises pour générer un proxy permettant de communiquer avec un objet distant. (Hérité de MarshalByRefObject.)
Méthode protégée Pris en charge par XNA Framework CreateWaitHandle Obsolète. Alloue un objet WaitHandle.
Méthode publique Pris en charge par XNA Framework 8f86tw9e.PortableClassLibrary(fr-fr,VS.100).gif Dispose() Libère toutes les ressources utilisées par Stream.
Méthode protégée Pris en charge par XNA Framework 8f86tw9e.PortableClassLibrary(fr-fr,VS.100).gif Dispose(Boolean) Libère les ressources non managées utilisées par Stream et libère éventuellement les ressources managées.
Méthode publique Pris en charge par XNA Framework 8f86tw9e.PortableClassLibrary(fr-fr,VS.100).gif EndRead Attend que la requête asynchrone en attente se termine.
Méthode publique Pris en charge par XNA Framework 8f86tw9e.PortableClassLibrary(fr-fr,VS.100).gif EndWrite Termine une opération d'écriture asynchrone.
Méthode publique Pris en charge par XNA Framework 8f86tw9e.PortableClassLibrary(fr-fr,VS.100).gif Equals(Object) Détermine si l'Object spécifié est égal à l'Object en cours. (Hérité de Object.)
Méthode protégée Pris en charge par XNA Framework 8f86tw9e.PortableClassLibrary(fr-fr,VS.100).gif Finalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de netto***ge avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publique Pris en charge par XNA Framework 8f86tw9e.PortableClassLibrary(fr-fr,VS.100).gif Flush En cas de substitution dans une classe dérivée, efface toutes les mémoires tampons du flux et provoque l'écriture de toutes les données se trouvant dans les mémoires tampons dans le périphérique sous-jacent.
Méthode publique Pris en charge par XNA Framework 8f86tw9e.PortableClassLibrary(fr-fr,VS.100).gif GetHashCode Sert de fonction de hachage pour un type particulier. (Hérité de Object.)
Méthode publique GetLifetimeService Récupère l'objet de service de durée de vie en cours qui contrôle la stratégie de durée de vie de cette instance. (Hérité de MarshalByRefObject.)
Méthode publique Pris en charge par XNA Framework 8f86tw9e.PortableClassLibrary(fr-fr,VS.100).gif GetType Obtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publique InitializeLifetimeService Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance. (Hérité de MarshalByRefObject.)
Méthode protégée Pris en charge par XNA Framework 8f86tw9e.PortableClassLibrary(fr-fr,VS.100).gif MemberwiseClone() Crée une copie superficielle de l'objet Object actif. (Hérité de Object.)
Méthode protégée MemberwiseClone(Boolean) Crée une copie superficielle de l'objet MarshalByRefObject actuel. (Hérité de MarshalByRefObject.)
Méthode protégée ObjectInvariant Infrastructure. Prend en charge un Contract.
Méthode publique Pris en charge par XNA Framework 8f86tw9e.PortableClassLibrary(fr-fr,VS.100).gif Read En cas de substitution dans une classe dérivée, lit une séquence d'octets à partir du flux actuel et avance la position dans le flux du nombre d'octets lus.
Méthode publique Pris en charge par XNA Framework 8f86tw9e.PortableClassLibrary(fr-fr,VS.100).gif ReadByte Lit un octet à partir du flux et avance d'un octet la position au sein du flux, ou retourne -1 s'il se situe à la fin du flux.
Méthode publique Pris en charge par XNA Framework 8f86tw9e.PortableClassLibrary(fr-fr,VS.100).gif Seek En cas de substitution dans une classe dérivée, définit la position actuelle dans le flux.
Méthode publique Pris en charge par XNA Framework 8f86tw9e.PortableClassLibrary(fr-fr,VS.100).gif SetLength En cas de substitution dans une classe dérivée, définit la longueur de flux actuel.
Méthode publique Membre statique Synchronized Crée un wrapper thread-safe (synchronisé) autour de l'objet Stream spécifié.
Méthode publique Pris en charge par XNA Framework 8f86tw9e.PortableClassLibrary(fr-fr,VS.100).gif ToString Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.)
Méthode publique Pris en charge par XNA Framework 8f86tw9e.PortableClassLibrary(fr-fr,VS.100).gif Write En cas de substitution dans une classe dérivée, écrit une séquence d'octets à partir du flux actuel et avance la position actuelle dans le flux du nombre d'octets écrits.
Méthode publique Pris en charge par XNA Framework 8f86tw9e.PortableClassLibrary(fr-fr,VS.100).gif WriteByte Écrit un octet à la position actuelle dans le flux actuel et avance d'un octet la position dans flux.
Début
  Nom Description
Champ public Membre statique Pris en charge par XNA Framework 8f86tw9e.PortableClassLibrary(fr-fr,VS.100).gif Null Stream sans magasin de stockage.
Début

Les flux impliquent trois opérations fondamentales :

  1. Vous pouvez lire à partir des flux. La lecture est le transfert de données d'un flux vers une structure de données tel qu'un tableau d'octets.

  2. Vous pouvez écrire dans les flux. L'écriture est le transfert de données d'une structure de données vers un flux.

  3. Les flux peuvent prendre en charge la recherche. La recherche consiste à envoyer une requête concernant la position actuelle dans un flux et à modifier cette dernière. La fonctionnalité de recherche dépend du type de magasin de stockage du flux. Par exemple, les flux de réseau n'ont pas de concept unifié pour une position actuelle et ne prennent donc généralement pas en charge la recherche.

Stream est la classe de base abstraite de tous les flux. Un flux est une abstraction d'une séquence d'octets, telle qu'un fichier, un périphérique d'entrée/sortie, un canal de communication à processus interne, ou un socket TCP/IP. La classe Stream et ses classes dérivées donnent une vue générique de ces différents types d'entrées et de sorties, isolant le programmeur des détails spécifiques au système d'exploitation et aux périphériques sous-jacents.

Selon la source de données sous-jacente ou le référentiel, les flux peuvent prendre en charge certaines de ces fonctionnalités. Une application peut envoyer une requête à un flux concernant ses fonctionnalités en utilisant les propriétés CanRead, CanWrite et CanSeek.

Les méthodes Read et Write lisent et écrivent les données dans divers formats. Pour les flux qui prennent la recherche en charge, utilisez les méthodes Seek et SetLength ainsi que les propriétés Position et Length pour envoyer une requête concernant la position actuelle et la longueur d'un flux et les modifier.

Certaines implémentations de flux effectuent la mise en mémoire tampon locale des données sous-jacentes afin d'améliorer la performance. Pour ces flux, la méthode Flush peut être utilisée pour effacer les mémoires tampons internes et assurer l'écriture de toutes les données dans la source de données sous-jacente ou le référentiel.

L'appel d'un Close sur un Stream vide toutes les données mises en mémoire tampon, en appelant Flush pour vous. Close libère également les ressources de système d'exploitation telles que les handles de fichiers, les connexions réseau ou la mémoire utilisés pour toute mise en mémoire tampon interne. La classe BufferedStream offre la possibilité d'encapsuler un flux mis en mémoire tampon autour d'un autre flux afin d'améliorer la performance de lecture et d'écriture.

Si vous voulez un flux sans magasin de stockage (également appelé compartiment de bits), utilisez Null.

Remarques à l'attention des implémenteurs

Lors de l'implémentation d'une classe dérivée de Stream, vous devez fournir des implémentations pour les méthodes Read et Write. Les méthodes asynchrones BeginRead, EndRead, BeginWrite et EndWrite sont implémentées à l'aide des méthodes synchrones Read et Write. De même, vos implémentations de Read et Write fonctionneront correctement avec les méthodes asynchrones. Les implémentations par défaut de ReadByte et WriteByte créent un nouveau tableau d'octets à un seul élément puis appellent vos implémentations de Read et Write. Si la classe dérive de Stream et que vous avez une mémoire tampon d'octets interne, il est vivement recommandé de substituer ces méthodes pour y accéder afin d'améliorer les performances. Vous devez également fournir des implémentations de CanRead, CanSeek, CanWrite, Flush, Length, Position, Seek et SetLength.

Ne substituez pas la méthode Close ; placez plutôt toute la logique de nettoyage de Stream dans la méthode Dispose. Pour plus d'informations, consultez Implémentation d'une méthode Dispose.

.NET Framework

Pris en charge dans : 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Pris en charge dans :

Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Cela vous a-t-il été utile ?
(1500 caractères restants)
Contenu de la communauté Ajouter
Annotations FAQ