Condividi tramite


StreamWriter Classe

Definizione

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à
StreamWriter
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 TextWriter.

(Ereditato da TextWriter)
Null

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

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 TextWritercorrente.

(Ereditato da TextWriter)

Metodi

Close()

Chiude l'oggetto StreamWriter corrente e il flusso sottostante.

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 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 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 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 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 Boolean nel flusso di testo, seguito 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 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 ToString su tale oggetto, seguito da un terminatore di riga.

(Ereditato da TextWriter)
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.

Si applica a

Vedi anche