StreamWriter Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
- 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' using
instruction appelle automatiquement Dispose sur 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 Windows 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 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.
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), donc 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 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 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 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 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é avec l' FileStreamOptions objet spécifié. |
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' FileStreamOptions objet spécifié. |
Champs
CoreNewLine |
Stocke les caractères de saut de ligne utilisés pour ce |
Null |
Fournit un élément |
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 |
Méthodes
Close() |
Ferme l’objet |
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) |
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 |
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 |
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 |
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 |
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. |