Partager via


Stream.Close Méthode

Définition

Ferme le flux actuel et libère toutes les ressources (comme les sockets et les handles de fichiers) associées à celui-ci. Au lieu d'appeler cette méthode, assurez-vous que le flux est correctement supprimé.

public:
 virtual void Close();
public virtual void Close ();
abstract member Close : unit -> unit
override this.Close : unit -> unit
Public Overridable Sub Close ()

Remarques

Cette méthode appelle Dispose, en spécifiant true de libérer toutes les ressources. Vous n’avez pas besoin d’appeler spécifiquement la Close méthode . Au lieu de cela, assurez-vous que chaque Stream objet est correctement supprimé. Vous pouvez déclarer Stream des objets dans un using bloc (ou Using un bloc en Visual Basic) pour vous assurer que le flux et toutes ses ressources sont supprimés, ou vous pouvez appeler explicitement la Dispose méthode .

Le vidage du flux ne videra pas son encodeur sous-jacent, sauf si vous appelez explicitement une implémentation de Flush ou Close. La définition de AutoFlush sur true signifie que les données seront vidées de la mémoire tampon vers le flux, mais que l’état de l’encodeur ne sera pas vidé. Cela permet à l’encodeur de conserver son état (caractères partiels) afin qu’il puisse encoder correctement le bloc de caractères suivant. Ce scénario affecte UTF8 et UTF7 où certains caractères peuvent être encodés uniquement après que l’encodeur a reçu le ou les caractères adjacents.

Les tentatives de manipulation du flux après la fermeture du flux peuvent lever un ObjectDisposedException.

Notes pour les héritiers

Dans les classes dérivées, ne remplacez pas la Close() méthode, mais placez toute la Stream logique de nettoyage dans la Dispose(Boolean) méthode. Pour plus d’informations, consultez Implémentation d’une méthode Dispose.

S’applique à

Voir aussi