StreamWriter Classe

Définition

Implémente TextWriter pour écrire les caractères dans un flux selon un encodage particulier.

public ref class StreamWriter : System::IO::TextWriter
public class StreamWriter : System.IO.TextWriter
[System.Serializable]
public class StreamWriter : System.IO.TextWriter
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class StreamWriter : System.IO.TextWriter
type StreamWriter = class
    inherit TextWriter
[<System.Serializable>]
type StreamWriter = class
    inherit TextWriter
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type StreamWriter = class
    inherit TextWriter
Public Class StreamWriter
Inherits TextWriter
Héritage
StreamWriter
Héritage
Attributs

Exemples

L’exemple suivant montre comment utiliser un StreamWriter objet pour écrire un fichier qui répertorie les répertoires sur le lecteur C, puis utiliser un StreamReader objet pour lire et afficher chaque nom de répertoire. Une bonne pratique consiste à utiliser ces objets dans une using instruction afin que les ressources non managées soient correctement supprimées. L’instruction using appelle Dispose automatiquement l’objet lorsque le code qui l’utilise est terminé. Le constructeur utilisé dans cet exemple n’est pas pris en charge pour une utilisation dans les applications du Windows Store.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace StreamReadWrite
{
    class Program
    {
        static void Main(string[] args)
        {
            // Get the directories currently on the C drive.
            DirectoryInfo[] cDirs = new DirectoryInfo(@"c:\").GetDirectories();

            // Write each directory name to a file.
            using (StreamWriter sw = new StreamWriter("CDriveDirs.txt"))
            {
                foreach (DirectoryInfo dir in cDirs)
                {
                    sw.WriteLine(dir.Name);
                }
            }

            // Read and show each line from the file.
            string line = "";
            using (StreamReader sr = new StreamReader("CDriveDirs.txt"))
            {
                while ((line = sr.ReadLine()) != null)
                {
                    Console.WriteLine(line);
                }
            }
        }
    }
}
Imports System.IO
Class Program

    Shared Sub Main()

        ' Get the directories currently on the C drive.
        Dim cDirs As DirectoryInfo() = New DirectoryInfo("c:\").GetDirectories()

        ' Write each directory name to a file.
        Using sw As StreamWriter = New StreamWriter("CDriveDirs.txt")
            For Each Dir As DirectoryInfo In cDirs
                sw.WriteLine(Dir.Name)
            Next
        End Using

        'Read and show each line from the file.
        Dim line As String = ""
        Using sr As StreamReader = New StreamReader("CDriveDirs.txt")
            Do
                line = sr.ReadLine()
                Console.WriteLine(line)
            Loop Until line Is Nothing
        End Using


    End Sub

End Class

Remarques

StreamWriter est conçu pour la sortie de caractères dans un encodage particulier, tandis que les classes dérivées sont Stream conçues pour l’entrée et la sortie d’octets.

Important

Ce type implémente l'interface IDisposable. Une fois que vous avez fini d’utiliser le type, vous devez le supprimer directement ou indirectement. Pour supprimer directement le type Dispose, appelez sa méthode dans un bloc try/catch. Pour la supprimer indirectement, utilisez une construction de langage telle que using (dans C#) ou Using (dans Visual Basic). Pour plus d’informations, consultez la section « Utilisation d’un objet qui implémente IDisposable » dans la rubrique de l’interface IDisposable.

StreamWriterutilise par défaut une instance de, UTF8Encoding sauf indication contraire. Cette instance de UTF8Encoding est construite sans marque d’ordre d’octet (BOM), de sorte que sa GetPreamble méthode retourne un tableau d’octets vide. L’encodage UTF-8 par défaut pour ce constructeur lève une exception sur les octets non valides. Ce comportement est différent du comportement fourni par l’objet d’encodage dans la Encoding.UTF8 propriété . Pour spécifier une nomenclature et déterminer si une exception est levée sur des octets non valides, utilisez un constructeur qui accepte un objet d’encodage en tant que paramètre, tel que StreamWriter(String, Boolean, Encoding) ou StreamWriter.

Par défaut, un StreamWriter n’est pas thread safe. Consultez TextWriter.Synchronized pour obtenir un wrapper thread-safe.

Pour obtenir la liste des tâches d’E/S courantes, consultez Tâches courantes d’E/S.

Constructeurs

StreamWriter(Stream)

Initialise une nouvelle instance de la classe StreamWriter pour le flux spécifié, à l’aide de l’encodage UTF-8 et de la taille de la mémoire tampon par défaut.

StreamWriter(Stream, Encoding)

Initialise une nouvelle instance de la classe StreamWriter pour le flux spécifié, à l’aide de l’encodage spécifié et de la taille de mémoire tampon par défaut.

StreamWriter(Stream, Encoding, Int32)

Initialise une nouvelle instance de la classe StreamWriter pour le flux spécifié, à l’aide de l’encodage et de la taille de mémoire tampon spécifiés.

StreamWriter(Stream, Encoding, Int32, Boolean)

Initialise une nouvelle instance de la classe StreamWriter pour le flux spécifié, à l’aide de l’encodage et de la taille de mémoire tampon spécifiés, et permet éventuellement de laisser le flux ouvert.

StreamWriter(String)

Initialise une nouvelle instance de la classe StreamWriter pour le fichier spécifié, à l’aide de l’encodage et de la taille de la mémoire tampon par défaut.

StreamWriter(String, Boolean)

Initialise une nouvelle instance de la classe StreamWriter pour le fichier spécifié, à l’aide de l’encodage et de la taille de la mémoire tampon par défaut. Si le fichier existe, il peut être remplacé ou recevoir des ajouts. Si le fichier n'existe pas, ce constructeur crée un fichier.

StreamWriter(String, Boolean, Encoding)

Initialise une nouvelle instance de la classe StreamWriter pour le fichier spécifié, à l’aide de l’encodage spécifié et de la taille de la mémoire tampon par défaut. Si le fichier existe, il peut être remplacé ou recevoir des ajouts. Si le fichier n'existe pas, ce constructeur crée un fichier.

StreamWriter(String, Boolean, Encoding, Int32)

Initialise une nouvelle instance de la classe StreamWriter pour le fichier spécifié sur le chemin spécifié, à l’aide de l’encodage et de la taille de mémoire tampon spécifiés. Si le fichier existe, il peut être remplacé ou recevoir des ajouts. Si le fichier n'existe pas, ce constructeur crée un fichier.

StreamWriter(String, Encoding, FileStreamOptions)

Initialise une nouvelle instance de la StreamWriter classe pour le fichier spécifié, à l’aide de l’encodage spécifié et configurée avec l’objet spécifiéFileStreamOptions.

StreamWriter(String, FileStreamOptions)

Initialise une nouvelle instance de la classe pour le StreamWriter fichier spécifié, à l’aide de l’encodage par défaut et configurée avec l’objet spécifiéFileStreamOptions.

Champs

CoreNewLine

Stocke les caractères de saut de ligne utilisés pour ce TextWriter.

(Hérité de TextWriter)
Null

Fournit un élément StreamWriter sans magasin de stockage dans lequel il est possible d'écrire, mais pas de lire.

Propriétés

AutoFlush

Obtient ou définit une valeur indiquant si StreamWriter vide sa mémoire tampon vers le flux sous-jacent après chaque appel à Write(Char).

BaseStream

Obtient le flux sous-jacent qui sert d'interface avec un magasin de stockage.

Encoding

Obtient le Encoding dans lequel la sortie est écrite.

FormatProvider

Obtient un objet qui contrôle la mise en forme.

(Hérité de TextWriter)
NewLine

Obtient ou définit la chaîne de marque de fin de ligne utilisée pour le TextWriter actuel.

(Hérité de TextWriter)

Méthodes

Close()

Ferme l’objet StreamWriter actuel et le flux sous-jacent.

Close()

Ferme le writer actuel et libère toutes les ressources système qui lui sont associées.

(Hérité de TextWriter)
CreateObjRef(Type)

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)
Dispose()

Libère toutes les ressources utilisées par l'objet TextWriter.

(Hérité de TextWriter)
Dispose(Boolean)

Entraîne l’écriture des données en mémoire tampon dans le flux sous-jacent, libère les ressources non managées utilisées par le StreamWriter et libère éventuellement les ressources managées.

DisposeAsync()

Écrit de façon asynchrone les données mises en mémoire tampon dans le flux sous-jacent et libère les ressources non gérées utilisées par StreamWriter.

DisposeAsync()

Libère de façon asynchrone toutes les ressources utilisées par l’objet TextWriter.

(Hérité de TextWriter)
Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
Finalize()

Libère les ressources du StreamWriter actuel avant sa récupération par le garbage collector.

Flush()

Efface toutes les mémoires tampons pour le writer actuel et provoque l'écriture des données mises en mémoire tampon dans le flux sous-jacent.

FlushAsync()

Efface toutes les mémoires tampons pour ce flux de manière asynchrone et provoque l'écriture des données mises en mémoire tampon sur l'appareil sous-jacent.

FlushAsync()

Efface de façon asynchrone toutes les mémoires tampons pour le writer actuel et provoque l'écriture des données mises en mémoire tampon sur l'appareil sous-jacent.

(Hérité de TextWriter)
FlushAsync(CancellationToken)

Efface toutes les mémoires tampons pour ce flux de manière asynchrone et provoque l'écriture des données mises en mémoire tampon sur l'appareil sous-jacent.

FlushAsync(CancellationToken)

Efface de façon asynchrone toutes les mémoires tampons pour le writer actuel et provoque l'écriture des données mises en mémoire tampon sur l'appareil sous-jacent.

(Hérité de TextWriter)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetLifetimeService()
Obsolète.

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)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
InitializeLifetimeService()
Obsolète.

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)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
MemberwiseClone(Boolean)

Crée une copie superficielle de l'objet MarshalByRefObject actuel.

(Hérité de MarshalByRefObject)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)
Write(Boolean)

Écrit la représentation sous forme de texte d’une valeur Boolean dans le flux de texte.

(Hérité de TextWriter)
Write(Char)

Écrit un caractère dans le flux.

Write(Char[])

Écrit un tableau de caractères dans le flux.

Write(Char[], Int32, Int32)

Écrit un sous-tableau de caractères dans le flux.

Write(Decimal)

Écrit la représentation sous forme de texte d’une valeur décimale dans le flux de texte.

(Hérité de TextWriter)
Write(Double)

Écrit la représentation sous forme de texte d’une valeur à virgule flottante de 8 octets dans le flux de texte.

(Hérité de TextWriter)
Write(Int32)

Écrit la représentation sous forme de texte d’un entier signé de 4 octets dans le flux de texte.

(Hérité de TextWriter)
Write(Int64)

Écrit la représentation sous forme de texte d’un entier signé de 8 octets dans le flux de texte.

(Hérité de TextWriter)
Write(Object)

Écrit la représentation sous forme de texte d’un objet dans le flux de texte en appelant la méthode ToString sur cet objet.

(Hérité de TextWriter)
Write(ReadOnlySpan<Char>)

Écrit une plage de caractères dans le flux.

Write(ReadOnlySpan<Char>)

Écrit une plage de caractères dans le flux de texte.

(Hérité de TextWriter)
Write(Single)

Écrit la représentation sous forme de texte d’une valeur à virgule flottante de 4 octets dans le flux de texte.

(Hérité de TextWriter)
Write(String)

Écrit une chaîne dans le flux.

Write(String, Object)

Écrit une chaîne mise en forme dans le flux, en utilisant la même sémantique que la méthode Format(String, Object).

Write(String, Object)

Écrit une chaîne mise en forme dans le flux de texte, en utilisant la même sémantique que la méthode Format(String, Object).

(Hérité de TextWriter)
Write(String, Object, Object)

Écrit une chaîne mise en forme dans le flux à l’aide de la même sémantique que la Format(String, Object, Object) méthode .

Write(String, Object, Object)

Écrit une chaîne mise en forme dans le flux de texte, en utilisant la même sémantique que la méthode Format(String, Object, Object).

(Hérité de TextWriter)
Write(String, Object, Object, Object)

Écrit une chaîne mise en forme dans le flux, en utilisant la même sémantique que la méthode Format(String, Object, Object, Object).

Write(String, Object, Object, Object)

Écrit une chaîne mise en forme dans le flux de texte, en utilisant la même sémantique que la méthode Format(String, Object, Object, Object).

(Hérité de TextWriter)
Write(String, Object[])

Écrit une chaîne mise en forme dans le flux, en utilisant la même sémantique que la méthode Format(String, Object[]).

Write(String, Object[])

Écrit une chaîne mise en forme dans le flux de texte, en utilisant la même sémantique que la méthode Format(String, Object[]).

(Hérité de TextWriter)
Write(StringBuilder)

Écrit un générateur de chaîne dans le flux de texte.

(Hérité de TextWriter)
Write(UInt32)

Écrit la représentation sous forme de texte d’un entier non signé de 4 octets dans le flux de texte.

(Hérité de TextWriter)
Write(UInt64)

Écrit la représentation sous forme de texte d’un entier non signé de 8 octets dans le flux de texte.

(Hérité de TextWriter)
WriteAsync(Char)

Écrit de façon asynchrone un caractère dans le flux.

WriteAsync(Char)

Écrit de façon asynchrone un caractère dans le flux de texte.

(Hérité de TextWriter)
WriteAsync(Char[])

Écrit de façon asynchrone un tableau de caractères dans le flux de texte.

(Hérité de TextWriter)
WriteAsync(Char[], Int32, Int32)

Écrit de façon asynchrone un sous-tableau de caractères dans le flux.

WriteAsync(Char[], Int32, Int32)

Écrit de façon asynchrone un sous-tableau de caractères dans le flux de texte.

(Hérité de TextWriter)
WriteAsync(ReadOnlyMemory<Char>, CancellationToken)

Écrit de façon asynchrone une zone de mémoire de caractères dans le flux.

WriteAsync(ReadOnlyMemory<Char>, CancellationToken)

Écrit de façon asynchrone une zone de mémoire de caractères dans le flux de texte.

(Hérité de TextWriter)
WriteAsync(String)

Écrit de façon asynchrone une chaîne dans le flux.

WriteAsync(String)

Écrit de façon asynchrone une chaîne dans le flux de texte.

(Hérité de TextWriter)
WriteAsync(StringBuilder, CancellationToken)

Écrit de façon asynchrone un générateur de chaîne dans le flux de texte.

(Hérité de TextWriter)
WriteLine()

Écrit une marque de fin de ligne dans le flux de texte.

(Hérité de TextWriter)
WriteLine(Boolean)

Écrit la représentation sous forme de texte d’une valeur Boolean dans le flux de texte, suivie d’une marque de fin de ligne.

(Hérité de TextWriter)
WriteLine(Char)

Écrit un caractère dans le flux de texte, suivi d’une marque de fin de ligne.

(Hérité de TextWriter)
WriteLine(Char[])

Écrit un tableau de caractères suivi d’une marque de fin de ligne dans le flux de texte.

(Hérité de TextWriter)
WriteLine(Char[], Int32, Int32)

Écrit un sous-tableau de caractères dans le flux de texte, suivi d’une marque de fin de ligne.

(Hérité de TextWriter)
WriteLine(Decimal)

Écrit la représentation sous forme de texte d’une valeur décimale dans le flux de texte, suivie d’une marque de fin de ligne.

(Hérité de TextWriter)
WriteLine(Double)

Écrit la représentation textuelle d’une valeur à virgule flottante de 8 octets suivie d’une marque de fin de ligne dans le flux de texte.

(Hérité de TextWriter)
WriteLine(Int32)

Écrit la représentation textuelle d’un entier signé de 4 octets suivie d’une marque de fin de ligne dans le flux de texte.

(Hérité de TextWriter)
WriteLine(Int64)

Écrit la représentation sous forme de texte d’un entier signé de 8 octets suivie d’une marque de fin de ligne dans le flux de texte.

(Hérité de TextWriter)
WriteLine(Object)

Écrit la représentation sous forme de texte d’un objet dans le flux de texte, en appelant la méthode ToString sur cet objet, suivie d’une marque de fin de ligne.

(Hérité de TextWriter)
WriteLine(ReadOnlySpan<Char>)

Écrit la représentation sous forme de texte d’une plage de caractères dans le flux, suivie d’une marque de fin de ligne.

WriteLine(ReadOnlySpan<Char>)

Écrit la représentation sous forme de texte d’une plage de caractères dans le flux de texte, suivie d’une marque de fin de ligne.

(Hérité de TextWriter)
WriteLine(Single)

Écrit la représentation sous forme de texte d’une valeur à virgule flottante de 4 octets suivie d’une marque de fin de ligne dans le flux de texte.

(Hérité de TextWriter)
WriteLine(String)

Écrit une chaîne dans le flux, suivie d’une marque de fin de ligne.

WriteLine(String)

Écrit une chaîne suivie d’une marque de fin de ligne dans le flux de texte.

(Hérité de TextWriter)
WriteLine(String, Object)

Écrit une chaîne mise en forme et une nouvelle ligne dans le flux, en utilisant la même sémantique que la méthode Format(String, Object).

WriteLine(String, Object)

Écrit une chaîne mise en forme et une nouvelle ligne dans le flux de texte, en utilisant la même sémantique que la méthode Format(String, Object).

(Hérité de TextWriter)
WriteLine(String, Object, Object)

Écrit une chaîne mise en forme et une nouvelle ligne dans le flux, en utilisant la même sémantique que la méthode Format(String, Object, Object).

WriteLine(String, Object, Object)

Écrit une chaîne mise en forme et une nouvelle ligne dans le flux de texte, en utilisant la même sémantique que la méthode Format(String, Object, Object).

(Hérité de TextWriter)
WriteLine(String, Object, Object, Object)

Écrit une chaîne mise en forme et une nouvelle ligne dans le flux, en utilisant la même sémantique que Format(String, Object).

WriteLine(String, Object, Object, Object)

Écrit une chaîne mise en forme et une nouvelle ligne dans le flux de texte, en utilisant la même sémantique que Format(String, Object).

(Hérité de TextWriter)
WriteLine(String, Object[])

Écrit une chaîne mise en forme et une nouvelle ligne dans le flux, en utilisant la même sémantique que Format(String, Object).

WriteLine(String, Object[])

Écrit une chaîne mise en forme et une nouvelle ligne dans le flux de texte, en utilisant la même sémantique que Format(String, Object).

(Hérité de TextWriter)
WriteLine(StringBuilder)

Écrit la représentation sous forme de texte d’un générateur de chaîne dans le flux de texte, suivie d’une marque de fin de ligne.

(Hérité de TextWriter)
WriteLine(UInt32)

Écrit la représentation sous forme de texte d’un entier non signé de 4 octets suivie d’une marque de fin de ligne dans le flux de texte.

(Hérité de TextWriter)
WriteLine(UInt64)

Écrit la représentation sous forme de texte d’un entier non signé de 8 octets suivie d’une marque de fin de ligne dans le flux de texte.

(Hérité de TextWriter)
WriteLineAsync()

Écrit de façon asynchrone une marque de fin de ligne dans le flux.

WriteLineAsync()

Écrit de façon asynchrone une marque de fin de ligne dans le flux de texte.

(Hérité de TextWriter)
WriteLineAsync(Char)

Écrit de façon asynchrone un caractère dans le flux, suivi d’une marque de fin de ligne.

WriteLineAsync(Char)

Écrit de façon asynchrone un caractère dans le flux de texte, suivi d’une marque de fin de ligne.

(Hérité de TextWriter)
WriteLineAsync(Char[])

Écrit de façon asynchrone un tableau de caractères suivi d’une marque de fin de ligne dans le flux de texte.

(Hérité de TextWriter)
WriteLineAsync(Char[], Int32, Int32)

Écrit de façon asynchrone un sous-tableau de caractères dans le flux, suivi d’une marque de fin de ligne.

WriteLineAsync(Char[], Int32, Int32)

Écrit de façon asynchrone un sous-tableau de caractères dans le flux de texte, suivi d’une marque de fin de ligne.

(Hérité de TextWriter)
WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken)

Écrit de façon asynchrone la représentation sous forme de texte d’une zone de mémoire de caractères dans le flux, suivie d’une marque de fin de ligne.

WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken)

Écrit de façon asynchrone la représentation sous forme de texte d’une zone de mémoire de caractères dans le flux de texte, suivie d’une marque de fin de ligne.

(Hérité de TextWriter)
WriteLineAsync(String)

Écrit de façon asynchrone une chaîne dans le flux, suivie d’une marque de fin de ligne.

WriteLineAsync(String)

Écrit de façon asynchrone une chaîne dans le flux de texte, suivie d’une marque de fin de ligne.

(Hérité de TextWriter)
WriteLineAsync(StringBuilder, CancellationToken)

Écrit de façon asynchrone la représentation sous forme de texte d’un générateur de chaîne dans le flux de texte, suivie d’une marque de fin de ligne.

(Hérité de TextWriter)

Implémentations d’interfaces explicites

IDisposable.Dispose()

Pour obtenir une description de ce membre, consultez Dispose().

(Hérité de TextWriter)

Méthodes d’extension

ConfigureAwait(IAsyncDisposable, Boolean)

Configure la façon dont les attentes sur les tâches retournées à partir d’un élément supprimable asynchrone sont effectuées.

S’applique à

Voir aussi