StreamWriter Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Implementa un TextWriter per la scrittura di caratteri in un flusso in una particolare codifica.
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
- Ereditarietà
- Ereditarietà
- Attributi
Esempio
Nell'esempio seguente viene illustrato come utilizzare un oggetto StreamWriter per scrivere un file che elenca le directory nell'unità C e quindi usa un oggetto StreamReader per leggere e visualizzare ogni nome di directory. È consigliabile usare questi oggetti in un'istruzione using
in modo che le risorse non gestite vengano eliminate correttamente. L'istruzione using
chiama automaticamente Dispose sull'oggetto al termine dell'utilizzo del codice. Il costruttore usato in questo esempio non è supportato per l'uso nelle app di 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
Commenti
StreamWriter è progettato per l'output dei caratteri in una particolare codifica, mentre le classi derivate da Stream sono progettate per l'input e l'output dei byte.
Importante
Questo tipo implementa l'interfaccia IDisposable. Al termine dell'uso del tipo, è necessario eliminarlo direttamente o indirettamente. Per eliminare direttamente il tipo, chiamare il metodo Dispose in un blocco try
/catch
. Per eliminarlo indirettamente, usare un costrutto del linguaggio, ad esempio using
(in C#) o Using
(in Visual Basic). Per altre informazioni, vedere la sezione "Uso di un oggetto che implementa IDisposable" nell'argomento relativo all'interfaccia IDisposable.
StreamWriter impostazione predefinita usa un'istanza di UTF8Encoding, se non diversamente specificato. Questa istanza di UTF8Encoding
viene costruita senza un indicatore di ordine dei byte (BOM), quindi il relativo metodo GetPreamble restituisce una matrice di byte vuota. La codifica UTF-8 predefinita per questo costruttore genera un'eccezione in byte non validi. Questo comportamento è diverso dal comportamento fornito dall'oggetto di codifica nella proprietà Encoding.UTF8. Per specificare un BOM e determinare se viene generata un'eccezione in byte non validi, utilizzare un costruttore che accetta un oggetto di codifica come parametro, ad esempio StreamWriter(String, Boolean, Encoding) o StreamWriter.
Per impostazione predefinita, un StreamWriter non è thread-safe. Vedere TextWriter.Synchronized per un wrapper thread-safe.
Per un elenco delle attività di I/O comuni, vedere Attività di I/O comuni.
Costruttori
StreamWriter(Stream) |
Inizializza una nuova istanza della classe StreamWriter per il flusso specificato utilizzando la codifica UTF-8 e le dimensioni predefinite del buffer. |
StreamWriter(Stream, Encoding) |
Inizializza una nuova istanza della classe StreamWriter per il flusso specificato utilizzando la codifica specificata e le dimensioni predefinite del buffer. |
StreamWriter(Stream, Encoding, Int32) |
Inizializza una nuova istanza della classe StreamWriter per il flusso specificato utilizzando la codifica e le dimensioni del buffer specificate. |
StreamWriter(Stream, Encoding, Int32, Boolean) |
Inizializza una nuova istanza della classe StreamWriter per il flusso specificato utilizzando la codifica e le dimensioni del buffer specificate e, facoltativamente, lascia aperto il flusso. |
StreamWriter(String) |
Inizializza una nuova istanza della classe StreamWriter per il file specificato utilizzando la codifica predefinita e le dimensioni del buffer. |
StreamWriter(String, Boolean) |
Inizializza una nuova istanza della classe StreamWriter per il file specificato utilizzando la codifica predefinita e le dimensioni del buffer. Se il file esiste, può essere sovrascritto o accodato. Se il file non esiste, questo costruttore crea un nuovo file. |
StreamWriter(String, Boolean, Encoding) |
Inizializza una nuova istanza della classe StreamWriter per il file specificato utilizzando la codifica e le dimensioni predefinite del buffer specificate. Se il file esiste, può essere sovrascritto o accodato. Se il file non esiste, questo costruttore crea un nuovo file. |
StreamWriter(String, Boolean, Encoding, Int32) |
Inizializza una nuova istanza della classe StreamWriter per il file specificato nel percorso specificato, utilizzando la codifica e le dimensioni del buffer specificate. Se il file esiste, può essere sovrascritto o accodato. Se il file non esiste, questo costruttore crea un nuovo file. |
StreamWriter(String, Encoding, FileStreamOptions) |
Inizializza una nuova istanza della classe StreamWriter per il file specificato, utilizzando la codifica specificata e configurata con l'oggetto FileStreamOptions specificato. |
StreamWriter(String, FileStreamOptions) |
Inizializza una nuova istanza della classe StreamWriter per il file specificato, utilizzando la codifica predefinita e configurata con l'oggetto FileStreamOptions specificato. |
Campi
CoreNewLine |
Archivia i caratteri di nuova riga usati per questo |
Null |
Fornisce un |
Proprietà
AutoFlush |
Ottiene o imposta un valore che indica se il StreamWriter scarica il buffer nel flusso sottostante dopo ogni chiamata a Write(Char). |
BaseStream |
Ottiene il flusso sottostante che si interfaccia con un archivio di backup. |
Encoding |
Ottiene il Encoding in cui viene scritto l'output. |
FormatProvider |
Ottiene un oggetto che controlla la formattazione. (Ereditato da TextWriter) |
NewLine |
Ottiene o imposta la stringa del terminatore di riga utilizzata dal |
Metodi
Close() |
Chiude l'oggetto |
Close() |
Chiude il writer corrente e rilascia tutte le risorse di sistema associate al writer. (Ereditato da TextWriter) |
CreateObjRef(Type) |
Crea un oggetto che contiene tutte le informazioni pertinenti necessarie per generare un proxy utilizzato per comunicare con un oggetto remoto. (Ereditato da MarshalByRefObject) |
Dispose() |
Rilascia tutte le risorse usate dall'oggetto TextWriter. (Ereditato da TextWriter) |
Dispose(Boolean) |
Fa in modo che tutti i dati memorizzati nel buffer vengano scritti nel flusso sottostante, rilasciano le risorse non gestite usate dal StreamWritere facoltativamente le risorse gestite. |
DisposeAsync() |
Scrive in modo asincrono tutti i dati memorizzati nel buffer nel flusso sottostante e rilascia le risorse non gestite usate dal StreamWriter. |
DisposeAsync() |
Rilascia in modo asincrono tutte le risorse usate dall'oggetto TextWriter. (Ereditato da TextWriter) |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
Finalize() |
Libera le risorse del StreamWriter corrente prima che venga recuperata dal Garbage Collector. |
Flush() |
Cancella tutti i buffer per il writer corrente e determina la scrittura di tutti i dati memorizzati nel buffer nel flusso sottostante. |
FlushAsync() |
Cancella tutti i buffer per questo flusso in modo asincrono e determina la scrittura di tutti i dati memorizzati nel buffer nel dispositivo sottostante. |
FlushAsync() |
Cancella in modo asincrono tutti i buffer per il writer corrente e determina la scrittura di tutti i dati memorizzati nel buffer nel dispositivo sottostante. (Ereditato da TextWriter) |
FlushAsync(CancellationToken) |
Cancella tutti i buffer per questo flusso in modo asincrono e determina la scrittura di tutti i dati memorizzati nel buffer nel dispositivo sottostante. |
FlushAsync(CancellationToken) |
Cancella in modo asincrono tutti i buffer per il writer corrente e determina la scrittura di tutti i dati memorizzati nel buffer nel dispositivo sottostante. (Ereditato da TextWriter) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetLifetimeService() |
Obsoleti.
Recupera l'oggetto servizio di durata corrente che controlla i criteri di durata per questa istanza. (Ereditato da MarshalByRefObject) |
GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
InitializeLifetimeService() |
Obsoleti.
Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza. (Ereditato da MarshalByRefObject) |
MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
MemberwiseClone(Boolean) |
Crea una copia superficiale dell'oggetto MarshalByRefObject corrente. (Ereditato da MarshalByRefObject) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Write(Boolean) |
Scrive nel flusso di testo la rappresentazione testuale di un valore |
Write(Char) |
Scrive un carattere nel flusso. |
Write(Char[]) |
Scrive una matrice di caratteri nel flusso. |
Write(Char[], Int32, Int32) |
Scrive una sottomaschera di caratteri nel flusso. |
Write(Decimal) |
Scrive la rappresentazione testuale di un valore decimale nel flusso di testo. (Ereditato da TextWriter) |
Write(Double) |
Scrive la rappresentazione testuale di un valore a virgola mobile a 8 byte nel flusso di testo. (Ereditato da TextWriter) |
Write(Int32) |
Scrive la rappresentazione testuale di un intero con segno a 4 byte nel flusso di testo. (Ereditato da TextWriter) |
Write(Int64) |
Scrive la rappresentazione testuale di un intero con segno a 8 byte nel flusso di testo. (Ereditato da TextWriter) |
Write(Object) |
Scrive la rappresentazione testuale di un oggetto nel flusso di testo chiamando il metodo |
Write(ReadOnlySpan<Char>) |
Scrive un intervallo di caratteri nel flusso. |
Write(ReadOnlySpan<Char>) |
Scrive un intervallo di caratteri nel flusso di testo. (Ereditato da TextWriter) |
Write(Single) |
Scrive la rappresentazione testuale di un valore a virgola mobile a 4 byte nel flusso di testo. (Ereditato da TextWriter) |
Write(String) |
Scrive una stringa nel flusso. |
Write(String, Object) |
Scrive una stringa formattata nel flusso usando la stessa semantica del metodo Format(String, Object). |
Write(String, Object) |
Scrive una stringa formattata nel flusso di testo usando la stessa semantica del metodo Format(String, Object). (Ereditato da TextWriter) |
Write(String, Object, Object) |
Scrive una stringa formattata nel flusso usando la stessa semantica del metodo Format(String, Object, Object). |
Write(String, Object, Object) |
Scrive una stringa formattata nel flusso di testo usando la stessa semantica del metodo Format(String, Object, Object). (Ereditato da TextWriter) |
Write(String, Object, Object, Object) |
Scrive una stringa formattata nel flusso usando la stessa semantica del metodo Format(String, Object, Object, Object). |
Write(String, Object, Object, Object) |
Scrive una stringa formattata nel flusso di testo usando la stessa semantica del metodo Format(String, Object, Object, Object). (Ereditato da TextWriter) |
Write(String, Object[]) |
Scrive una stringa formattata nel flusso usando la stessa semantica del metodo Format(String, Object[]). |
Write(String, Object[]) |
Scrive una stringa formattata nel flusso di testo usando la stessa semantica del metodo Format(String, Object[]). (Ereditato da TextWriter) |
Write(String, ReadOnlySpan<Object>) |
Scrive una stringa formattata nel flusso usando la stessa semantica di Format(String, ReadOnlySpan<Object>). |
Write(String, ReadOnlySpan<Object>) |
Scrive una stringa formattata nel flusso di testo usando la stessa semantica di Format(String, ReadOnlySpan<Object>). (Ereditato da TextWriter) |
Write(StringBuilder) |
Scrive un generatore di stringhe nel flusso di testo. (Ereditato da TextWriter) |
Write(UInt32) |
Scrive nel flusso di testo la rappresentazione testuale di un intero senza segno a 4 byte. (Ereditato da TextWriter) |
Write(UInt64) |
Scrive la rappresentazione testuale di un intero senza segno a 8 byte nel flusso di testo. (Ereditato da TextWriter) |
WriteAsync(Char) |
Scrive in modo asincrono un carattere nel flusso. |
WriteAsync(Char) |
Scrive un carattere nel flusso di testo in modo asincrono. (Ereditato da TextWriter) |
WriteAsync(Char[]) |
Scrive una matrice di caratteri nel flusso di testo in modo asincrono. (Ereditato da TextWriter) |
WriteAsync(Char[], Int32, Int32) |
Scrive in modo asincrono una sottomaschera di caratteri nel flusso. |
WriteAsync(Char[], Int32, Int32) |
Scrive una sottomaschera di caratteri nel flusso di testo in modo asincrono. (Ereditato da TextWriter) |
WriteAsync(ReadOnlyMemory<Char>, CancellationToken) |
Scrive in modo asincrono un'area di memoria di caratteri nel flusso. |
WriteAsync(ReadOnlyMemory<Char>, CancellationToken) |
Scrive in modo asincrono un'area di memoria di caratteri nel flusso di testo. (Ereditato da TextWriter) |
WriteAsync(String) |
Scrive in modo asincrono una stringa nel flusso. |
WriteAsync(String) |
Scrive una stringa nel flusso di testo in modo asincrono. (Ereditato da TextWriter) |
WriteAsync(StringBuilder, CancellationToken) |
Scrive in modo asincrono un generatore di stringhe nel flusso di testo. (Ereditato da TextWriter) |
WriteLine() |
Scrive un terminatore di riga nel flusso di testo. (Ereditato da TextWriter) |
WriteLine(Boolean) |
Scrive la rappresentazione testuale di un valore |
WriteLine(Char) |
Scrive un carattere nel flusso di testo, seguito da un terminatore di riga. (Ereditato da TextWriter) |
WriteLine(Char[]) |
Scrive una matrice di caratteri nel flusso di testo, seguita da un terminatore di riga. (Ereditato da TextWriter) |
WriteLine(Char[], Int32, Int32) |
Scrive una sottomaschera di caratteri nel flusso di testo, seguita da un terminatore di riga. (Ereditato da TextWriter) |
WriteLine(Decimal) |
Scrive la rappresentazione testuale di un valore decimale nel flusso di testo, seguita da un terminatore di riga. (Ereditato da TextWriter) |
WriteLine(Double) |
Scrive la rappresentazione testuale di un valore a virgola mobile a 8 byte nel flusso di testo, seguito da un terminatore di riga. (Ereditato da TextWriter) |
WriteLine(Int32) |
Scrive la rappresentazione testuale di un intero con segno a 4 byte nel flusso di testo, seguito da un terminatore di riga. (Ereditato da TextWriter) |
WriteLine(Int64) |
Scrive la rappresentazione testuale di un intero con segno a 8 byte nel flusso di testo, seguito da un terminatore di riga. (Ereditato da TextWriter) |
WriteLine(Object) |
Scrive la rappresentazione testuale di un oggetto nel flusso di testo chiamando il metodo |
WriteLine(ReadOnlySpan<Char>) |
Scrive la rappresentazione testuale di un intervallo di caratteri nel flusso, seguita da un terminatore di riga. |
WriteLine(ReadOnlySpan<Char>) |
Scrive la rappresentazione testuale di un intervallo di caratteri nel flusso di testo, seguita da un terminatore di riga. (Ereditato da TextWriter) |
WriteLine(Single) |
Scrive la rappresentazione testuale di un valore a virgola mobile a 4 byte nel flusso di testo, seguito da un terminatore di riga. (Ereditato da TextWriter) |
WriteLine(String) |
Scrive una stringa nel flusso, seguita da un terminatore di riga. |
WriteLine(String) |
Scrive una stringa nel flusso di testo, seguita da un terminatore di riga. (Ereditato da TextWriter) |
WriteLine(String, Object) |
Scrive una stringa formattata e una nuova riga nel flusso, usando la stessa semantica del metodo Format(String, Object). |
WriteLine(String, Object) |
Scrive una stringa formattata e una nuova riga nel flusso di testo, usando la stessa semantica del metodo Format(String, Object). (Ereditato da TextWriter) |
WriteLine(String, Object, Object) |
Scrive una stringa formattata e una nuova riga nel flusso, usando la stessa semantica del metodo Format(String, Object, Object). |
WriteLine(String, Object, Object) |
Scrive una stringa formattata e una nuova riga nel flusso di testo, usando la stessa semantica del metodo Format(String, Object, Object). (Ereditato da TextWriter) |
WriteLine(String, Object, Object, Object) |
Scrive una stringa formattata e una nuova riga nel flusso, usando la stessa semantica di Format(String, Object). |
WriteLine(String, Object, Object, Object) |
Scrive una stringa formattata e una nuova riga nel flusso di testo, usando la stessa semantica di Format(String, Object). (Ereditato da TextWriter) |
WriteLine(String, Object[]) |
Scrive una stringa formattata e una nuova riga nel flusso, usando la stessa semantica di Format(String, Object). |
WriteLine(String, Object[]) |
Scrive una stringa formattata e una nuova riga nel flusso di testo, usando la stessa semantica di Format(String, Object). (Ereditato da TextWriter) |
WriteLine(String, ReadOnlySpan<Object>) |
Scrive una stringa formattata e una nuova riga nel flusso, usando la stessa semantica di Format(String, ReadOnlySpan<Object>). |
WriteLine(String, ReadOnlySpan<Object>) |
Scrive una stringa formattata e una nuova riga nel flusso di testo, usando la stessa semantica di Format(String, ReadOnlySpan<Object>). (Ereditato da TextWriter) |
WriteLine(StringBuilder) |
Scrive la rappresentazione testuale di un generatore di stringhe nel flusso di testo, seguita da un terminatore di riga. (Ereditato da TextWriter) |
WriteLine(UInt32) |
Scrive la rappresentazione testuale di un intero senza segno a 4 byte nel flusso di testo, seguito da un terminatore di riga. (Ereditato da TextWriter) |
WriteLine(UInt64) |
Scrive la rappresentazione testuale di un intero senza segno a 8 byte nel flusso di testo, seguito da un terminatore di riga. (Ereditato da TextWriter) |
WriteLineAsync() |
Scrive in modo asincrono un terminatore di riga nel flusso. |
WriteLineAsync() |
Scrive in modo asincrono un terminatore di riga nel flusso di testo. (Ereditato da TextWriter) |
WriteLineAsync(Char) |
Scrive in modo asincrono un carattere nel flusso, seguito da un terminatore di riga. |
WriteLineAsync(Char) |
Scrive in modo asincrono un carattere nel flusso di testo, seguito da un terminatore di riga. (Ereditato da TextWriter) |
WriteLineAsync(Char[]) |
Scrive in modo asincrono una matrice di caratteri nel flusso di testo, seguita da un terminatore di riga. (Ereditato da TextWriter) |
WriteLineAsync(Char[], Int32, Int32) |
Scrive in modo asincrono una sottomaschera di caratteri nel flusso, seguita da un terminatore di riga. |
WriteLineAsync(Char[], Int32, Int32) |
Scrive in modo asincrono una sottomaschera di caratteri nel flusso di testo, seguita da un terminatore di riga. (Ereditato da TextWriter) |
WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken) |
Scrive in modo asincrono la rappresentazione testuale di un'area di memoria di caratteri nel flusso, seguita da un terminatore di riga. |
WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken) |
Scrive in modo asincrono la rappresentazione testuale di un'area di memoria di caratteri nel flusso di testo, seguita da un terminatore di riga. (Ereditato da TextWriter) |
WriteLineAsync(String) |
Scrive in modo asincrono una stringa nel flusso, seguita da un terminatore di riga. |
WriteLineAsync(String) |
Scrive in modo asincrono una stringa nel flusso di testo, seguita da un terminatore di riga. (Ereditato da TextWriter) |
WriteLineAsync(StringBuilder, CancellationToken) |
Scrive in modo asincrono la rappresentazione testuale di un generatore di stringhe nel flusso di testo, seguita da un terminatore di riga. (Ereditato da TextWriter) |
Implementazioni dell'interfaccia esplicita
IDisposable.Dispose() |
Per una descrizione di questo membro, vedere Dispose(). (Ereditato da TextWriter) |
Metodi di estensione
ConfigureAwait(IAsyncDisposable, Boolean) |
Configura il modo in cui verranno eseguite le attese nelle attività restituite da un oggetto eliminabile asincrono. |