StreamWriter Classe

Définition

Implémente TextWriter pour écrire les caractères dans un flux selon un encodage particulier.Implements a TextWriter for writing characters to a stream in a particular encoding.

public ref class StreamWriter : System::IO::TextWriter
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class StreamWriter : System.IO.TextWriter
type StreamWriter = class
    inherit TextWriter
Public Class StreamWriter
Inherits TextWriter
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.The following example shows how to use a StreamWriter object to write a file that lists the directories on the C drive, and then uses a StreamReader object to read and display each directory name. Une bonne pratique consiste à utiliser ces objets dans une using instruction afin que les ressources non managées soient correctement supprimées.A good practice is to use these objects in a using statement so that the unmanaged resources are correctly disposed. L' using instruction appelle Dispose automatiquement sur l’objet lorsque le code qui l’utilise est terminé.The using statement automatically calls Dispose on the object when the code that is using it has completed. Le constructeur utilisé dans cet exemple n’est pas pris en charge Windows StoreWindows Store pour une utilisation dans les applications.The constructor used in this example is not supported for use in Windows StoreWindows Store Apps.

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

StreamWriterest 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.StreamWriter is designed for character output in a particular encoding, whereas classes derived from Stream are designed for byte input and output.

Important

Ce type implémente l'interface IDisposable.This type implements the IDisposable interface. Une fois que vous avez fini d’utiliser le type, vous devez le supprimer directement ou indirectement.When you have finished using the type, you should dispose of it either directly or indirectly. Pour supprimer directement le type Dispose, appelez sa méthode dans un bloc try/catch.To dispose of the type directly, call its Dispose method in a try/catch block. Pour la supprimer indirectement, utilisez une construction de langage telle que using (dans C#) ou Using (dans Visual Basic).To dispose of it indirectly, use a language construct such as using (in C#) or Using (in Visual Basic). Pour plus d’informations, consultez la section « Utilisation d’un objet qui implémente IDisposable » dans la rubrique de l’interface IDisposable.For more information, see the "Using an Object that Implements IDisposable" section in the IDisposable interface topic.

StreamWriterutilise par défaut une instance de UTF8Encoding , sauf indication contraire.StreamWriter defaults to using an instance of UTF8Encoding unless specified otherwise. Cette instance de UTF8Encoding est construite sans marque d’ordre d’octet (BOM), donc GetPreamble sa méthode retourne un tableau d’octets vide.This instance of UTF8Encoding is constructed without a byte order mark (BOM), so its GetPreamble method returns an empty byte array. L’encodage UTF-8 par défaut pour ce constructeur lève une exception sur les octets non valides.The default UTF-8 encoding for this constructor throws an exception on invalid bytes. Ce comportement est différent du comportement fourni par l’objet d’encodage dans Encoding.UTF8 la propriété.This behavior is different from the behavior provided by the encoding object in the Encoding.UTF8 property. Pour spécifier une marque de nomenclature et déterminer si une exception est levée sur des octets non valides, utilisez un constructeur qui accepte un objet d’encodage StreamWriteren tant que paramètre, tel que StreamWriter(String, Boolean, Encoding) ou.To specify a BOM and determine whether an exception is thrown on invalid bytes, use a constructor that accepts an encoding object as a parameter, such as StreamWriter(String, Boolean, Encoding) or StreamWriter.

Par défaut, un StreamWriter n’est pas thread-safe.By default, a StreamWriter is not thread safe. Consultez TextWriter.Synchronized pour obtenir un wrapper thread-safe.See TextWriter.Synchronized for a thread-safe wrapper.

Pour obtenir la liste des tâches d’e/s courantes, consultez tâches d’e/s courantes.For a list of common I/O tasks, see Common I/O Tasks.

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.Initializes a new instance of the StreamWriter class for the specified stream by using UTF-8 encoding and the default buffer size.

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.Initializes a new instance of the StreamWriter class for the specified stream by using the specified encoding and the default buffer size.

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.Initializes a new instance of the StreamWriter class for the specified stream by using the specified encoding and buffer size.

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.Initializes a new instance of the StreamWriter class for the specified stream by using the specified encoding and buffer size, and optionally leaves the stream open.

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.Initializes a new instance of the StreamWriter class for the specified file by using the default encoding and buffer size.

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.Initializes a new instance of the StreamWriter class for the specified file by using the default encoding and buffer size. Si le fichier existe, il peut être remplacé ou recevoir des ajouts.If the file exists, it can be either overwritten or appended to. Si le fichier n'existe pas, ce constructeur crée un nouveau fichier.If the file does not exist, this constructor creates a new file.

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.Initializes a new instance of the StreamWriter class for the specified file by using the specified encoding and default buffer size. Si le fichier existe, il peut être remplacé ou recevoir des ajouts.If the file exists, it can be either overwritten or appended to. Si le fichier n'existe pas, ce constructeur crée un nouveau fichier.If the file does not exist, this constructor creates a new file.

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.Initializes a new instance of the StreamWriter class for the specified file on the specified path, using the specified encoding and buffer size. Si le fichier existe, il peut être remplacé ou recevoir des ajouts.If the file exists, it can be either overwritten or appended to. Si le fichier n'existe pas, ce constructeur crée un nouveau fichier.If the file does not exist, this constructor creates a new file.

Champs

CoreNewLine

Stocke les caractères de saut de ligne utilisés pour ce TextWriter.Stores the newline characters used for this 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.Provides a StreamWriter with no backing store that can be written to, but not read from.

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).Gets or sets a value indicating whether the StreamWriter will flush its buffer to the underlying stream after every call to Write(Char).

BaseStream

Obtient le flux sous-jacent qui sert d'interface avec un magasin de sauvegarde.Gets the underlying stream that interfaces with a backing store.

Encoding

Obtient le Encoding dans lequel la sortie est écrite.Gets the Encoding in which the output is written.

FormatProvider

Obtient un objet qui contrôle la mise en forme.Gets an object that controls formatting.

(Hérité de TextWriter)
NewLine

Obtient ou définit la chaîne de marque de fin de ligne utilisée pour le TextWriter actuel.Gets or sets the line terminator string used by the current TextWriter.

(Hérité de TextWriter)

Méthodes

Close()

Ferme l’objet StreamWriter actuel et le flux sous-jacent.Closes the current StreamWriter object and the underlying stream.

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.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Hérité de MarshalByRefObject)
Dispose()

Libère toutes les ressources utilisées par l'objet TextWriter.Releases all resources used by the TextWriter object.

(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.Causes any buffered data to be written to the underlying stream, releases the unmanaged resources used by the StreamWriter, and optionally the managed resources.

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.Asynchronously writes any buffered data to the underlying stream and releases the unmanaged resources used by the StreamWriter.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.Determines whether the specified object is equal to the current object.

(Hérité de Object)
Finalize()

Libère les ressources du StreamWriter actuel avant sa récupération par le garbage collector.Frees the resources of the current StreamWriter before it is reclaimed by the 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.Clears all buffers for the current writer and causes any buffered data to be written to the underlying stream.

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 le périphérique sous-jacent.Clears all buffers for this stream asynchronously and causes any buffered data to be written to the underlying device.

GetHashCode()

Sert de fonction de hachage par défaut.Serves as the default hash function.

(Hérité de Object)
GetLifetimeService()

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.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Hérité de MarshalByRefObject)
GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Hérité de Object)
InitializeLifetimeService()

Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance.Obtains a lifetime service object to control the lifetime policy for this instance.

(Hérité de MarshalByRefObject)
MemberwiseClone()

Crée une copie superficielle du Object actuel.Creates a shallow copy of the current Object.

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

Crée une copie superficielle de l'objet MarshalByRefObject actuel.Creates a shallow copy of the current MarshalByRefObject object.

(Hérité de MarshalByRefObject)
ToString()

Retourne une chaîne qui représente l'objet en cours.Returns a string that represents the current object.

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

Écrit la représentation sous forme de texte d’une valeur Boolean dans le flux de texte.Writes the text representation of a Boolean value to the text stream.

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

Écrit un caractère dans le flux.Writes a character to the stream.

Write(Char[])

Écrit un tableau de caractères dans le flux.Writes a character array to the stream.

Write(Char[], Int32, Int32)

Écrit un sous-tableau de caractères dans le flux.Writes a subarray of characters to the stream.

Write(Decimal)

Écrit la représentation sous forme de texte d’une valeur décimale dans le flux de texte.Writes the text representation of a decimal value to the text stream.

(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.Writes the text representation of an 8-byte floating-point value to the text stream.

(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.Writes the text representation of a 4-byte signed integer to the text stream.

(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.Writes the text representation of an 8-byte signed integer to the text stream.

(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.Writes the text representation of an object to the text stream by calling the ToString method on that object.

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

Écrit une plage de caractères dans le flux.Writes a character span to the stream.

Write(Single)

Écrit la représentation sous forme de texte d’une valeur à virgule flottante de 4 octets dans le flux de texte.Writes the text representation of a 4-byte floating-point value to the text stream.

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

Écrit une chaîne dans le flux.Writes a string to the stream.

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).Writes a formatted string to the stream, using the same semantics as the Format(String, Object) method.

Write(String, 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).Writes a formatted string to the stream using the same semantics as the Format(String, Object, Object) method..

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).Writes a formatted string to the stream, using the same semantics as the Format(String, Object, Object, Object) method.

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[]).Writes a formatted string to the stream, using the same semantics as the Format(String, Object[]) method.

Write(StringBuilder)

Écrit un générateur de chaîne dans le flux de texte.Writes a string builder to the text stream.

(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.Writes the text representation of a 4-byte unsigned integer to the text stream.

(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.Writes the text representation of an 8-byte unsigned integer to the text stream.

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

Écrit de façon asynchrone un caractère dans le flux.Asynchronously writes a character to the stream.

WriteAsync(Char[])

Écrit de façon asynchrone un tableau de caractères dans le flux de texte.Writes a character array to the text stream asynchronously.

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

Écrit de façon asynchrone un sous-tableau de caractères dans le flux.Asynchronously writes a subarray of characters to the stream.

WriteAsync(ReadOnlyMemory<Char>, CancellationToken)

Écrit de façon asynchrone une zone de mémoire de caractères dans le flux.Asynchronously writes a character memory region to the stream.

WriteAsync(String)

Écrit de façon asynchrone une chaîne dans le flux.Asynchronously writes a string to the stream.

WriteAsync(StringBuilder, CancellationToken)

Écrit de façon asynchrone un générateur de chaîne dans le flux de texte.Asynchronously writes a string builder to the text stream.

(Hérité de TextWriter)
WriteLine()

Écrit une marque de fin de ligne dans le flux de texte.Writes a line terminator to the text stream.

(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.Writes the text representation of a Boolean value to the text stream, followed by a line terminator.

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

Écrit un caractère dans le flux de texte, suivi d’une marque de fin de ligne.Writes a character to the text stream, followed by a line terminator.

(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.Writes an array of characters to the text stream, followed by a line terminator.

(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.Writes a subarray of characters to the text stream, followed by a line terminator.

(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.Writes the text representation of a decimal value to the text stream, followed by a line terminator.

(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.Writes the text representation of a 8-byte floating-point value to the text stream, followed by a line terminator.

(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.Writes the text representation of a 4-byte signed integer to the text stream, followed by a line terminator.

(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.Writes the text representation of an 8-byte signed integer to the text stream, followed by a line terminator.

(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.Writes the text representation of an object to the text stream, by calling the ToString method on that object, followed by a line terminator.

(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.Writes the text representation of a character span to the stream, followed by a line terminator.

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.Writes the text representation of a 4-byte floating-point value to the text stream, followed by a line terminator.

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

Écrit une chaîne dans le flux, suivie d’une marque de fin de ligne.Writes a string to the stream, followed by a line terminator.

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).Writes a formatted string and a new line to the stream, using the same semantics as the Format(String, Object) method.

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).Writes a formatted string and a new line to the stream, using the same semantics as the Format(String, Object, Object) method.

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).Writes out a formatted string and a new line to the stream, using the same semantics as Format(String, Object).

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).Writes out a formatted string and a new line to the stream, using the same semantics as Format(String, Object).

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.Writes the text representation of a string builder to the text stream, followed by a line terminator.

(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.Writes the text representation of a 4-byte unsigned integer to the text stream, followed by a line terminator.

(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.Writes the text representation of an 8-byte unsigned integer to the text stream, followed by a line terminator.

(Hérité de TextWriter)
WriteLineAsync()

Écrit de façon asynchrone une marque de fin de ligne dans le flux.Asynchronously writes a line terminator to the stream.

WriteLineAsync(Char)

Écrit de façon asynchrone un caractère dans le flux, suivi d’une marque de fin de ligne.Asynchronously writes a character to the stream, followed by a line terminator.

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.Asynchronously writes an array of characters to the text stream, followed by a line terminator.

(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.Asynchronously writes a subarray of characters to the stream, followed by a line terminator.

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.Asynchronously writes the text representation of a character memory region to the stream, followed by a line terminator.

WriteLineAsync(String)

Écrit de façon asynchrone une chaîne dans le flux, suivie d’une marque de fin de ligne.Asynchronously writes a string to the stream, followed by a line terminator.

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.Asynchronously writes the text representation of a string builder to the text stream, followed by a line terminator.

(Hérité de TextWriter)

Implémentations d’interfaces explicites

IDisposable.Dispose()

Pour obtenir une description de ce membre, consultez Dispose().For a description of this member, see Dispose().

(Hérité de TextWriter)

S’applique à

Voir aussi