Partager 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 StreamWriter objet pour écrire un fichier qui répertorie les répertoires sur le lecteur C, puis utilise 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, appelez sa Dispose méthode dans un try/catch bloc. Pour la 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 d’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 GetPreamble méthode 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 Encoding.UTF8 propriété. 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, un StreamWriter thread n’est pas sécurisé. Consultez TextWriter.Synchronized un wrapper thread-safe.

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

Constructeurs

Nom Description
StreamWriter(Stream, Encoding, Int32, Boolean)

Initialise une nouvelle instance de la StreamWriter classe 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(Stream, Encoding, Int32)

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

StreamWriter(Stream, Encoding)

Initialise une nouvelle instance de la StreamWriter classe 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)

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

StreamWriter(String, Boolean, Encoding, Int32)

Initialise une nouvelle instance de la StreamWriter classe pour le fichier spécifié sur le chemin d’accès 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, Boolean, Encoding)

Initialise une nouvelle instance de la StreamWriter classe 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)

Initialise une nouvelle instance de la StreamWriter classe pour le fichier spécifié à l’aide de la taille d’encodage et 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, 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 StreamWriter classe pour le fichier spécifié, à l’aide de l’encodage par défaut et configurée avec l’objet spécifié FileStreamOptions .

StreamWriter(String)

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

Champs

Nom Description
CoreNewLine

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

(Hérité de TextWriter)
Null

Fournit un StreamWriter magasin de stockage sans écriture, mais pas lu à partir de.

Propriétés

Nom Description
AutoFlush

Obtient ou définit une valeur indiquant si la StreamWriter mémoire tampon 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 le Encoding résultat 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 fin de ligne utilisée par le paramètre actuel TextWriter.

(Hérité de TextWriter)

Méthodes

Nom Description
Close()

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

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)

Provoque 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 le StreamWriter, et éventuellement les ressources gérées.

DisposeAsync()

Écrit de manière 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.

Equals(Object)

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

(Hérité de Object)
Finalize()

Libère les ressources du courant StreamWriter 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(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.

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 actuel MarshalByRefObject .

(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 Boolean valeur dans le flux de texte.

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

Écrit un caractère dans le flux.

Write(Char[], Int32, Int32)

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

Write(Char[])

Écrit un 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 ToString méthode sur cet objet.

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

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

Write(Rune)

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

(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, Object, 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, Object) méthode.

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 Format(String, Object, Object, Object) méthode.

(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 à l’aide de la même sémantique que la Format(String, Object, Object) méthode.

(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 Format(String, Object) méthode.

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 Format(String, Object) méthode.

(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 Format(String, Object[]) méthode.

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 Format(String, Object[]) méthode.

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

Écrit une chaîne dans le flux.

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[], Int32, Int32)

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

WriteAsync(Char[])

Écrit un 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(Rune)

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

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

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

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

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

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 Boolean valeur 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[], 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(Char[])

Écrit un tableau de caractères dans le flux de texte, suivi d’un terminateur 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 ToString méthode 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(Rune)

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

(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, 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 à l’aide de la même sémantique que 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 Format(String, Object, Object) méthode.

WriteLine(String, 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 la Format(String, Object, Object) méthode.

(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 Format(String, Object) méthode.

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 la Format(String, Object) méthode.

(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 à 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, en utilisant la même sémantique que Format(String, ReadOnlySpan<Object>).

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

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

(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[], 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[])

É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(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(Rune)

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

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

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

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

Nom Description
IDisposable.Dispose()

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

(Hérité de TextWriter)

Méthodes d’extension

Nom Description
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