StreamWriter Classe

Definizione

Implementa un oggetto TextWriter che scrive i caratteri in un flusso con 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à
StreamWriter
Ereditarietà
Attributi

Esempio

Nell'esempio seguente viene illustrato come utilizzare un StreamWriter oggetto per scrivere un file che elenca le directory nell'unità C e quindi usa un StreamReader oggetto 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 Dispose automaticamente sull'oggetto quando il codice che lo usa è stato completato. 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

Il tipo implementa l'interfaccia IDisposable. Dopo aver utilizzato il tipo, è necessario eliminarlo direttamente o indirettamente. Per eliminare direttamente il tipo, chiamare il metodo Dispose in un blocco try/catch. Per eliminarlo indirettamente, utilizzare un costrutto di linguaggio come 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 per impostazione predefinita viene utilizzato un'istanza di UTF8Encoding se non diversamente specificato. Questa istanza di UTF8Encoding viene costruita senza un indicatore di ordine dei byte (BOM), quindi il 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 Encoding.UTF8 proprietà . Per specificare un BOM e determinare se viene generata un'eccezione in byte non validi, usare un costruttore che accetta un oggetto di codifica come parametro, ad esempio StreamWriter(String, Boolean, Encoding) o StreamWriter.

Per impostazione predefinita, un oggetto 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 usando la codifica UTF-8 e le dimensioni del buffer predefinite.

StreamWriter(Stream, Encoding)

Inizializza una nuova istanza della classe StreamWriter per il flusso specificato usando la codifica dei caratteri e le dimensioni del buffer specificate.

StreamWriter(Stream, Encoding, Int32)

Inizializza una nuova istanza della classe StreamWriter per il flusso specificato usando la codifica caratteri e le dimensioni del buffer specificate.

StreamWriter(Stream, Encoding, Int32, Boolean)

Inizializza una nuova istanza della classe StreamWriter per il flusso specificato usando la codifica dei caratteri e le dimensioni del buffer specificate. Facoltativamente mantiene aperto il flusso.

StreamWriter(String)

Inizializza una nuova istanza della classe StreamWriter per il file specificato usando la codifica e la dimensione del buffer predefinite.

StreamWriter(String, Boolean)

Inizializza una nuova istanza della classe StreamWriter per il file specificato usando la codifica e la dimensione del buffer predefinite. Se il file esiste, è possibile sovrascriverlo o aggiungervi informazioni. Se il file non esiste, il costruttore ne crea uno nuovo.

StreamWriter(String, Boolean, Encoding)

Inizializza una nuova istanza della classe StreamWriter per il file specificato usando la codifica specificata e le dimensioni del buffer predefinite. Se il file esiste, è possibile sovrascriverlo o aggiungervi informazioni. Se il file non esiste, il costruttore ne crea uno nuovo.

StreamWriter(String, Boolean, Encoding, Int32)

Inizializza una nuova istanza della classe StreamWriter per il file specificato nel percorso specificato, usando la codifica e le dimensioni del buffer specificate. Se il file esiste, è possibile sovrascriverlo o aggiungervi informazioni. Se il file non esiste, il costruttore ne crea uno nuovo.

StreamWriter(String, Encoding, FileStreamOptions)

Inizializza una nuova istanza della StreamWriter classe per il file specificato, usando la codifica specificata e configurata con l'oggetto specificato FileStreamOptions .

StreamWriter(String, FileStreamOptions)

Inizializza una nuova istanza della StreamWriter classe per il file specificato, usando la codifica predefinita e configurata con l'oggetto specificato FileStreamOptions .

Campi

CoreNewLine

Archivia i caratteri di nuova riga usati per questo TextWriter.

(Ereditato da TextWriter)
Null

Fornisce un oggetto StreamWriter senza archivio di backup, in cui è possibile scrivere, ma da cui non è possibile leggere.

Proprietà

AutoFlush

Ottiene o imposta un valore che indica se StreamWriter scarica i dati del 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 l'oggetto Encoding in cui viene scritto l'output.

FormatProvider

Ottiene un oggetto che controlla la formattazione.

(Ereditato da TextWriter)
NewLine

Recupera o imposta la stringa di terminazione di riga usata dall'oggetto TextWriter corrente.

(Ereditato da TextWriter)

Metodi

Close()

Chiude l'oggetto StreamWriter corrente e il flusso sottostante.

Close()

Chiude il writer corrente e rilascia eventuali risorse di sistema a esso associate.

(Ereditato da TextWriter)
CreateObjRef(Type)

Consente di creare un oggetto che contiene tutte le informazioni rilevanti necessarie per la generazione del proxy utilizzato per effettuare la comunicazione con un oggetto remoto.

(Ereditato da MarshalByRefObject)
Dispose()

Rilascia tutte le risorse usate dall'oggetto TextWriter.

(Ereditato da TextWriter)
Dispose(Boolean)

Causa la scrittura di eventuali dati memorizzati nel buffer nel flusso sottostante, libera le risorse non gestite usate dall'oggetto StreamWriter ed eventualmente libera le risorse gestite.

DisposeAsync()

Scrive in modo asincrono tutti i dati memorizzati nel buffer nel flusso sottostante e rilascia le risorse non gestite usate da 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 della classe StreamWriter corrente prima che venga recuperata da Garbage Collector.

Flush()

Cancella tutti i buffer relativi al writer corrente e consente la scrittura dei dati memorizzati nel buffer nel flusso sottostante.

FlushAsync()

Cancella in modo asincrono i dati di tutti i buffer del flusso e determina la scrittura dei dati memorizzati nel buffer nel dispositivo sottostante.

FlushAsync()

Cancella in modo asincrono i dati di tutti i buffer del writer corrente e consente la scrittura dei dati memorizzati nel buffer nel dispositivo sottostante.

(Ereditato da TextWriter)
FlushAsync(CancellationToken)

Cancella in modo asincrono i dati di tutti i buffer del flusso e determina la scrittura dei dati memorizzati nel buffer nel dispositivo sottostante.

FlushAsync(CancellationToken)

Cancella in modo asincrono i dati di tutti i buffer del writer corrente e consente la scrittura dei dati memorizzati nel buffer nel dispositivo sottostante.

(Ereditato da TextWriter)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetLifetimeService()
Obsoleti.

Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza.

(Ereditato da MarshalByRefObject)
GetType()

Ottiene l'oggetto 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 dell'oggetto Object corrente.

(Ereditato da Object)
MemberwiseClone(Boolean)

Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente.

(Ereditato da MarshalByRefObject)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
Write(Boolean)

Inserisce nel flusso di testo la rappresentazione testuale di un valore Boolean.

(Ereditato da TextWriter)
Write(Char)

Scrive un carattere nel flusso.

Write(Char[])

Scrive una matrice di caratteri nel flusso.

Write(Char[], Int32, Int32)

Scrive una sottomatrice di caratteri nel flusso.

Write(Decimal)

Scrive nel flusso di testo la rappresentazione testuale di un valore decimale.

(Ereditato da TextWriter)
Write(Double)

Scrive nel flusso di testo la rappresentazione testuale di un valore a virgola mobile a 8 byte.

(Ereditato da TextWriter)
Write(Int32)

Scrive nel flusso di testo la rappresentazione testuale di un intero a 4 byte con segno.

(Ereditato da TextWriter)
Write(Int64)

Scrive nel flusso di testo la rappresentazione testuale di un intero a 8 byte con segno.

(Ereditato da TextWriter)
Write(Object)

Scrive nel flusso di testo la rappresentazione testuale di un oggetto chiamando il metodo ToString su tale oggetto.

(Ereditato da TextWriter)
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 nel flusso di testo la rappresentazione testuale di un valore a virgola mobile a 4 byte.

(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 Format(String, Object, Object) metodo.

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(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 a 4 byte senza segno.

(Ereditato da TextWriter)
Write(UInt64)

Scrive nel flusso di testo la rappresentazione testuale di un intero a 8 byte senza segno.

(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 in modo asincrono nel flusso di testo.

(Ereditato da TextWriter)
WriteAsync(Char[], Int32, Int32)

Scrive in modo asincrono una sottomatrice di caratteri nel flusso.

WriteAsync(Char[], Int32, Int32)

Scrive una sottomatrice di caratteri nel flusso di testo in modo asincrono.

(Ereditato da TextWriter)
WriteAsync(ReadOnlyMemory<Char>, CancellationToken)

Scrive in modo asincrono un'area di memoria dei caratteri nel flusso.

WriteAsync(ReadOnlyMemory<Char>, CancellationToken)

Scrive in modo asincrono un'area di memoria dei 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)

Scrivere la rappresentazione testuale di un valore Boolean nel flusso di testo, seguita da un terminatore di riga.

(Ereditato da TextWriter)
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 sottomatrice 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, seguita da un terminatore di riga.

(Ereditato da TextWriter)
WriteLine(Int32)

Scrive la rappresentazione testuale di un intero a 4 byte con segno nel flusso di testo, seguita da un terminatore di riga.

(Ereditato da TextWriter)
WriteLine(Int64)

Scrive la rappresentazione testuale di un intero a 8 byte con segno nel flusso di testo, seguita da un terminatore di riga.

(Ereditato da TextWriter)
WriteLine(Object)

Scrive la rappresentazione testuale di un oggetto nel flusso di testo, chiamando il metodo ToString sull'oggetto, seguita da un terminatore di riga.

(Ereditato da TextWriter)
WriteLine(ReadOnlySpan<Char>)

Scrive nel flusso la rappresentazione testuale di un intervallo di caratteri, seguita da un terminatore di riga.

WriteLine(ReadOnlySpan<Char>)

Scrive nel flusso di testo la rappresentazione testuale di un intervallo di caratteri, 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, seguita 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(StringBuilder)

Scrive nel flusso di testo la rappresentazione testuale di un generatore di stringhe, seguita da un terminatore di riga.

(Ereditato da TextWriter)
WriteLine(UInt32)

Scrive la rappresentazione testuale di un intero a 4 byte senza segno nel flusso di testo, seguita da un terminatore di riga.

(Ereditato da TextWriter)
WriteLine(UInt64)

Scrive la rappresentazione testuale di un intero a 8 byte senza segno nel flusso di testo, seguita 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 un carattere in modo asincrono 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, seguiti da un terminatore di riga.

(Ereditato da TextWriter)
WriteLineAsync(Char[], Int32, Int32)

Scrive in modo asincrono una sottomatrice di caratteri nel flusso, seguiti da un terminatore di riga.

WriteLineAsync(Char[], Int32, Int32)

Scrive in modo asincrono una sottomatrice di caratteri nel flusso di testo, seguiti da un terminatore di riga.

(Ereditato da TextWriter)
WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken)

Scrive in modo asincrono la rappresentazione testuale di un'area di memoria dei 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 dei 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 una stringa in modo asincrono nel flusso di testo, seguita da un terminatore di riga.

(Ereditato da TextWriter)
WriteLineAsync(StringBuilder, CancellationToken)

Scrive in modo asincrono nel flusso di testo la rappresentazione testuale di un generatore di stringhe, 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)

Consente di configurare la modalità di esecuzione delle espressioni await per le attività restituite da un elemento disposable asincrono.

Si applica a

Vedi anche