Partage via


StreamWriter Classe

Définition

Implémente un TextWriter pour écrire des caractères dans un flux dans 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 objet StreamWriter pour écrire un fichier qui répertorie les répertoires sur le lecteur C, puis utilise un objet StreamReader pour lire et afficher chaque nom de répertoire. Une bonne pratique consiste à utiliser ces objets dans une instruction using afin que les ressources non managées soient correctement supprimées. L’instruction using appelle automatiquement Dispose sur l’objet lorsque le code utilisé 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 de Stream sont 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 le type directement, appelez sa méthode Dispose dans un bloc try/catch. Pour le supprimer indirectement, utilisez une construction de langage telle que using (en C#) ou Using (en Visual Basic). Pour plus d’informations, consultez la section « Utilisation d’un objet implémentant IDisposable » dans la rubrique de l’interface IDisposable.

StreamWriter utilise 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 méthode GetPreamble retourne un tableau d’octets vide. L’encodage UTF-8 par défaut pour ce constructeur lève une exception sur des octets non valides. Ce comportement est différent du comportement fourni par l’objet d’encodage dans la propriété Encoding.UTF8. Pour spécifier un boM 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, une StreamWriter n’est pas thread-safe. Consultez TextWriter.Synchronized pour un wrapper thread-safe.

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

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 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ées.

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ées, et laisse éventuellement 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 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 mémoire tampon par défaut. Si le fichier existe, il peut être remplacé ou ajouté. 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 mémoire tampon par défaut. Si le fichier existe, il peut être remplacé ou ajouté. 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ées. Si le fichier existe, il peut être remplacé ou ajouté. Si le fichier n’existe pas, ce constructeur crée un fichier.

StreamWriter(String, Encoding, FileStreamOptions)

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

StreamWriter(String, FileStreamOptions)

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

Champs

CoreNewLine

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

(Hérité de TextWriter)
Null

Fournit une StreamWriter sans magasin de stockage qui peut être écrit, mais pas lu à partir de.

Propriétés

AutoFlush

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

BaseStream

Obtient le flux sous-jacent qui s’interface avec un magasin de stockage.

Encoding

Obtient la Encoding dans laquelle 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 fin de ligne utilisée par la TextWriteractuelle.

(Hérité de TextWriter)

Méthodes

Close()

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

Close()

Ferme l’enregistreur actuel et libère toutes les ressources système associées à l’enregistreur.

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

Crée un objet qui contient toutes les informations pertinentes requises pour générer un proxy utilisé pour 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 de toutes les données mises en mémoire tampon dans le flux sous-jacent, libère les ressources non managées utilisées par l'StreamWriter, et éventuellement les ressources gérées.

DisposeAsync()

Écrit de façon asynchrone toutes les données mises en mémoire tampon dans le flux sous-jacent et libère les ressources non managées utilisées par le 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 de la StreamWriter actuelle avant qu’elle ne soit récupérée par le garbage collector.

Flush()

Efface toutes les mémoires tampons de l’enregistreur actuel et entraîne l’écriture de toutes les données mises en mémoire tampon dans le flux sous-jacent.

FlushAsync()

Efface toutes les mémoires tampons de ce flux de manière asynchrone et entraîne l’écriture de toutes les données mises en mémoire tampon sur l’appareil sous-jacent.

FlushAsync()

Efface de façon asynchrone toutes les mémoires tampons de l’enregistreur actuel et entraîne l’écriture de toutes les données mises en mémoire tampon sur l’appareil sous-jacent.

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

Efface toutes les mémoires tampons de ce flux de manière asynchrone et entraîne l’écriture de toutes les données mises en mémoire tampon sur l’appareil sous-jacent.

FlushAsync(CancellationToken)

Efface de façon asynchrone toutes les mémoires tampons de l’enregistreur actuel et entraîne l’écriture de toutes les données mises en mémoire tampon sur l’appareil sous-jacent.

(Hérité de TextWriter)
GetHashCode()

Sert 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 actuel qui contrôle la stratégie de durée de vie de cette instance.

(Hérité de MarshalByRefObject)
GetType()

Obtient la 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 Objectactuel.

(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 textuelle 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 textuelle d’une valeur décimale dans le flux de texte.

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

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

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

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

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

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

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

Écrit la représentation textuelle 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 étendue de caractères dans le flux.

Write(ReadOnlySpan<Char>)

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

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

Écrit la représentation textuelle 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 à l’aide de 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 à l’aide de 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 méthode Format(String, Object, Object).

Write(String, Object, Object)

Écrit une chaîne mise en forme dans le flux de texte à l’aide de 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 à l’aide de 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 à l’aide de 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 à l’aide de 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 à l’aide de la même sémantique que la méthode Format(String, Object[]).

(Hérité de TextWriter)
Write(String, ReadOnlySpan<Object>)

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

Write(String, ReadOnlySpan<Object>)

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

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

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

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

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

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

Écrit la représentation textuelle 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 un caractère dans le flux de texte de manière asynchrone.

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

Écrit un tableau de caractères dans le flux de texte de manière asynchrone.

(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 un sous-tableau de caractères dans le flux de texte de manière asynchrone.

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

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

WriteAsync(ReadOnlyMemory<Char>, CancellationToken)

Écrit de façon asynchrone une région 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 une chaîne dans le flux de texte de manière asynchrone.

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

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

(Hérité de TextWriter)
WriteLine()

Écrit un terminateur de ligne dans le flux de texte.

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

Écrit la représentation textuelle 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 dans le flux de texte, suivi d’un terminateur de ligne.

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

Écrit un sous-narrateur 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 textuelle 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 dans le flux de texte, suivie d’une marque de fin de ligne.

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

Écrit la représentation textuelle d’un entier signé de 4 octets dans le flux de texte, suivi d’un terminateur de ligne.

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

Écrit la représentation textuelle d’un entier signé de 8 octets dans le flux de texte, suivi d’un terminateur de ligne.

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

Écrit la représentation textuelle d’un objet dans le flux de texte, en appelant la méthode ToString sur cet objet, suivie d’un terminateur de ligne.

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

Écrit la représentation textuelle d’une étendue de caractères dans le flux, suivie d’un terminateur de ligne.

WriteLine(ReadOnlySpan<Char>)

Écrit la représentation textuelle d’une étendue de caractères dans le flux de texte, suivie d’un terminateur de ligne.

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

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

(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 dans le flux de texte, suivie d’une marque de fin de ligne.

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

Écrit une chaîne mise en forme et une nouvelle ligne dans le flux à l’aide de 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 à l’aide de 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 à l’aide de 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 à l’aide de 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 à l’aide de 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 à l’aide de la même sémantique que Format(String, Object).

(Hérité de TextWriter)
WriteLine(String, ReadOnlySpan<Object>)

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

WriteLine(String, ReadOnlySpan<Object>)

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

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

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

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

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

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

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

(Hérité de TextWriter)
WriteLineAsync()

Écrit de façon asynchrone un terminateur de ligne dans le flux.

WriteLineAsync()

Écrit de façon asynchrone un terminateur 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 dans le flux de texte, suivi d’une marque de fin de ligne.

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

Écrit de façon asynchrone un sous-narrateur de caractères dans le flux, suivi d’un point de terminaison de ligne.

WriteLineAsync(Char[], Int32, Int32)

Écrit de façon asynchrone un sous-narrateur 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 textuelle d’une région de mémoire de caractères dans le flux, suivie d’un terminateur de ligne.

WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken)

Écrit de manière asynchrone la représentation textuelle d’une région de mémoire de caractères dans le flux de texte, suivie d’un terminateur 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 textuelle d’un générateur de chaînes 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 jetable asynchrone sont effectuées.

S’applique à

Voir aussi