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 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
- 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 |
| Null |
Fournit un |
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 |
Méthodes
| Nom | Description |
|---|---|
| Close() |
Ferme l’objet actuel |
| 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 |
| 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 |
| 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 |
| 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 |
| 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. |