Pour obtenir un exemple de création de fichier et d'écriture de texte dans un fichier, consultez Comment : écrire du texte dans un fichier. Pour obtenir un exemple de lecture de texte à partir d'un fichier, consultez Comment : lire du texte dans un fichier. Pour obtenir un exemple de lecture et d'écriture dans un fichier binaire, consultez Comment : lire et écrire dans un fichier de données créé récemment.
La classe MemoryStream crée des flux dotés d'une mémoire sous la forme d'un magasin de sauvegarde au lieu d'un disque ou d'une connexion réseau. MemoryStream encapsule les données stockées sous la forme d'un tableau d'octets non signés qui est initialisé lors de la création d'un objet MemoryStream. Le tableau créé peut également être vide. Les données encapsulées sont directement accessibles dans la mémoire. Les flux de mémoire peuvent réduire le recours à des mémoires tampons et à des fichiers temporaires dans une application.
Le current position d'un flux est la position à laquelle doit avoir lieu la prochaine opération de lecture ou d'écriture. La position actuelle peut être récupérée ou définie à l'aide de la méthode Seek. Lorsqu'une nouvelle instance de MemoryStream est créée, la position actuelle a la valeur zéro.
Les flux de mémoire créés à partir d'un tableau d'octets non signés fournissent un affichage des données sous la forme d'un flux non redimensionnable. Ils sont uniquement accessibles en écriture. Lors de l'utilisation d'un tableau d'octets, il n'est pas possible d'ajouter des données au flux ou de réduire sa taille, mais dans certains cas, vous pourrez modifier le contenu existant, selon les paramètres passés au constructeur. Les flux de mémoire vides sont redimensionnables et ils sont accessibles en lecture et en écriture.
Si un objet MemoryStream est ajouté à un fichier ResX ou à un fichier .resources, appelez la méthode GetStream au moment de l'exécution pour le récupérer.
Si un objet MemoryStream est sérialisé en tant que fichier de ressources, il sera en fait sérialisé en tant que UnmanagedMemoryStream. Ce comportement fournit de meilleures performances, ainsi que la possibilité d'obtenir directement un pointeur vers les données sans devoir passer par les méthodes Stream.
Remarque sur la plate-forme Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows CE :
Dans Windows CE, un flux de mémoire collé à partir du Presse-papiers peut avoir une taille légèrement supérieure à celle du flux de mémoire copié vers le Presse-papiers, car des octets supplémentaires peuvent être ajoutés à la fin du flux de mémoire d'origine. Pour récupérer correctement le flux de mémoire, faites précéder l'objet de sa taille pour déterminer comment le recevoir ou copiez DataObject vers le Presse-papiers contenant le flux de mémoire et une valeur de chaîne de sa taille.