StringWriter Klass

Definition

Implementerar en TextWriter för att skriva information till en sträng. Informationen lagras i en underliggande StringBuilder.

public ref class StringWriter : System::IO::TextWriter
public class StringWriter : System.IO.TextWriter
[System.Serializable]
public class StringWriter : System.IO.TextWriter
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class StringWriter : System.IO.TextWriter
type StringWriter = class
    inherit TextWriter
[<System.Serializable>]
type StringWriter = class
    inherit TextWriter
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type StringWriter = class
    inherit TextWriter
Public Class StringWriter
Inherits TextWriter
Arv
StringWriter
Arv
Attribut

Exempel

I följande kodexempel visas hur du skapar ett kontinuerligt stycke från en grupp meningar med dubbla blanksteg och sedan konverteringen av stycket tillbaka till den ursprungliga texten.

using System;
using System.IO;

class StringRW
{
    static void Main()
    {
        string textReaderText = "TextReader is the abstract base " +
            "class of StreamReader and StringReader, which read " +
            "characters from streams and strings, respectively.\n\n" +

            "Create an instance of TextReader to open a text file " +
            "for reading a specified range of characters, or to " +
            "create a reader based on an existing stream.\n\n" +

            "You can also use an instance of TextReader to read " +
            "text from a custom backing store using the same " +
            "APIs you would use for a string or a stream.\n\n";

        Console.WriteLine("Original text:\n\n{0}", textReaderText);

        // From textReaderText, create a continuous paragraph
        // with two spaces between each sentence.
        string aLine, aParagraph = null;
        StringReader strReader = new StringReader(textReaderText);
        while(true)
        {
            aLine = strReader.ReadLine();
            if(aLine != null)
            {
                aParagraph = aParagraph + aLine + " ";
            }
            else
            {
                aParagraph = aParagraph + "\n";
                break;
            }
        }
        Console.WriteLine("Modified text:\n\n{0}", aParagraph);

        // Re-create textReaderText from aParagraph.
        int intCharacter;
        char convertedCharacter;
        StringWriter strWriter = new StringWriter();
        strReader = new StringReader(aParagraph);
        while(true)
        {
            intCharacter = strReader.Read();

            // Check for the end of the string
            // before converting to a character.
            if(intCharacter == -1) break;

            convertedCharacter = (char)intCharacter;
            if(convertedCharacter == '.')
            {
                strWriter.Write(".\n\n");

                // Bypass the spaces between sentences.
                strReader.Read();
                strReader.Read();
            }
            else
            {
                strWriter.Write(convertedCharacter);
            }
        }
        Console.WriteLine("\nOriginal text:\n\n{0}",
            strWriter.ToString());
    }
}
Option Explicit
Option Strict

Imports System.IO

Public Class StrReader

    Shared Sub Main()
    
        Dim textReaderText As String = "TextReader is the " & _
            "abstract base class of StreamReader and " & _
            "StringReader, which read characters from streams " & _
            "and strings, respectively." & _
            vbCrLf & vbCrLf & _
            "Create an instance of TextReader to open a text " & _
            "file for reading a specified range of characters, " & _
            "or to create a reader based on an existing stream." & _
            vbCrLf & vbCrLf & _
            "You can also use an instance of TextReader to read " & _
            "text from a custom backing store using the same " & _
            "APIs you would use for a string or a stream." & _
            vbCrLf & vbCrLf

        Console.WriteLine("Original text:" & vbCrLf & vbCrLf & _
            textReaderText)

        ' From textReaderText, create a continuous paragraph 
        ' with two spaces between each sentence.
        Dim aLine, aParagraph As String
        Dim strReader As New StringReader(textReaderText)
        While True
            aLine = strReader.ReadLine()
            If aLine Is Nothing Then
                aParagraph = aParagraph & vbCrLf
                Exit While
            Else
                aParagraph = aParagraph & aLine & " "
            End If
        End While
        Console.WriteLine("Modified text:" & vbCrLf & vbCrLf & _ 
            aParagraph)
    
        ' Re-create textReaderText from aParagraph.
        Dim intCharacter As Integer 
        Dim convertedCharacter As Char 
        Dim strWriter As New StringWriter()
        strReader = New StringReader(aParagraph)
        While True
            intCharacter = strReader.Read()

            ' Check for the end of the string 
            ' before converting to a character.
            If intCharacter = -1 Then
                Exit While
            End If

            convertedCharacter = Convert.ToChar(intCharacter)
            If convertedCharacter = "."C Then
                strWriter.Write("." & vbCrLf & vbCrLf)

                ' Bypass the spaces between sentences.
                strReader.Read()
                strReader.Read()
            Else
                strWriter.Write(convertedCharacter)
            End If
        End While
        Console.WriteLine(vbCrLf & "Original text:" & vbCrLf & _ 
            vbCrLf & strWriter.ToString())

    End Sub
End Class

Kommentarer

StringWriter gör att du kan skriva till en sträng synkront eller asynkront. Du kan skriva ett tecken i taget med Write(Char) metoden eller WriteAsync(Char) , en sträng i taget med hjälp av Write(String) metoden eller WriteAsync(String) . Dessutom kan du skriva ett tecken, en matris med tecken eller en sträng följt av radavgränsaren asynkront med någon av WriteLineAsync metoderna.

Note

Den här typen implementerar IDisposable gränssnittet, men har faktiskt inga resurser att ta bort. Det innebär att det inte är nödvändigt att exponera den genom att direkt anropa Dispose() eller genom att använda en språkkonstruktion som using (i C#) eller Using (i Visual Basic).

I följande tabell visas exempel på andra typiska eller relaterade I/O-uppgifter.

För att göra det här... Se exemplet i det här avsnittet...
Skapa en textfil. Anvisningar: Skriva text till en fil
Skriv till en textfil. Anvisningar: Skriva text till en fil
Läs från en textfil. Anvisningar: Läsa text från en fil
Lägg till text i en fil. Anvisningar: Öppna och lägg till i en loggfil

File.AppendText

FileInfo.AppendText
Hämta storleken på en fil. FileInfo.Length
Hämta attributen för en fil. File.GetAttributes
Ange attributen för en fil. File.SetAttributes
Kontrollera om det finns en fil. File.Exists
Läs från en binär fil. Anvisningar: Läsa och skriva till en nyligen skapad datafil
Skriv till en binär fil. Anvisningar: Läsa och skriva till en nyligen skapad datafil

Konstruktorer

Name Description
StringWriter()

Initierar en ny instans av StringWriter klassen.

StringWriter(IFormatProvider)

Initierar en ny instans av StringWriter klassen med den angivna formatkontrollen.

StringWriter(StringBuilder, IFormatProvider)

Initierar en ny instans av StringWriter klassen som skriver till den angivna StringBuilder och har den angivna formatprovidern.

StringWriter(StringBuilder)

Initierar en ny instans av StringWriter klassen som skriver till den angivna StringBuilder.

Fält

Name Description
CoreNewLine

Lagrar de nya radtecken som används för den här TextWriter.

(Ärvd från TextWriter)

Egenskaper

Name Description
Encoding

Hämtar i Encoding vilken utdata skrivs.

FormatProvider

Hämtar ett objekt som styr formateringen.

(Ärvd från TextWriter)
NewLine

Hämtar eller anger radavslutarsträngen som används av den aktuella TextWriter.

(Ärvd från TextWriter)

Metoder

Name Description
Close()

Stänger strömmen StringWriter och den underliggande strömmen.

CreateObjRef(Type)

Skapar ett objekt som innehåller all relevant information som krävs för att generera en proxy som används för att kommunicera med ett fjärrobjekt.

(Ärvd från MarshalByRefObject)
Dispose()

Frigör alla resurser som används av TextWriter objektet.

(Ärvd från TextWriter)
Dispose(Boolean)

Släpper de ohanterade resurser som används av StringWriter och släpper eventuellt de hanterade resurserna.

DisposeAsync()

Asynkront frigör alla resurser som används av TextWriter objektet.

(Ärvd från TextWriter)
Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
Flush()

Rensar alla buffertar för den aktuella skrivaren och gör att buffrade data skrivs till den underliggande enheten.

(Ärvd från TextWriter)
FlushAsync()

Rensar asynkront alla buffertar för den aktuella skrivaren och gör att buffrade data skrivs till den underliggande enheten.

GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetLifetimeService()

Hämtar det aktuella livslängdstjänstobjektet som styr livslängdsprincipen för den här instansen.

(Ärvd från MarshalByRefObject)
GetStringBuilder()

Returnerar den underliggande StringBuilder.

GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
InitializeLifetimeService()

Hämtar ett tjänstobjekt för livslängd för att styra livslängdsprincipen för den här instansen.

(Ärvd från MarshalByRefObject)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
MemberwiseClone(Boolean)

Skapar en ytlig kopia av det aktuella MarshalByRefObject objektet.

(Ärvd från MarshalByRefObject)
ToString()

Returnerar en sträng som innehåller de tecken som skrivits till aktuell StringWriter hittills.

Write(Boolean)

Skriver textrepresentationen av ett Boolean värde till textströmmen.

(Ärvd från TextWriter)
Write(Char)

Skriver ett tecken till strängen.

Write(Char[], Int32, Int32)

Skriver en underordning med tecken till strängen.

Write(Char[])

Skriver en teckenmatris till textströmmen.

(Ärvd från TextWriter)
Write(Decimal)

Skriver textrepresentationen av ett decimalvärde till textströmmen.

(Ärvd från TextWriter)
Write(Double)

Skriver textrepresentationen av ett flyttalsvärde på 8 byte till textströmmen.

(Ärvd från TextWriter)
Write(Int32)

Skriver textrepresentationen av ett 4 byte signerat heltal till textströmmen.

(Ärvd från TextWriter)
Write(Int64)

Skriver textrepresentationen av ett 8 byte signerat heltal till textströmmen.

(Ärvd från TextWriter)
Write(Object)

Skriver textrepresentationen av ett objekt till textströmmen genom att anropa ToString metoden för objektet.

(Ärvd från TextWriter)
Write(ReadOnlySpan<Char>)

Skriver strängrepresentationen av ett intervall med tecken till den aktuella strängen.

Write(Single)

Skriver textrepresentationen av ett flyttalsvärde på 4 byte till textströmmen.

(Ärvd från TextWriter)
Write(String, Object, Object, Object)

Skriver en formaterad sträng till textströmmen med samma semantik som Format(String, Object, Object, Object) metoden.

(Ärvd från TextWriter)
Write(String, Object, Object)

Skriver en formaterad sträng till textströmmen med samma semantik som Format(String, Object, Object) metoden.

(Ärvd från TextWriter)
Write(String, Object)

Skriver en formaterad sträng till textströmmen med samma semantik som Format(String, Object) metoden.

(Ärvd från TextWriter)
Write(String, Object[])

Skriver en formaterad sträng till textströmmen med samma semantik som Format(String, Object[]) metoden.

(Ärvd från TextWriter)
Write(String)

Skriver en sträng till den aktuella strängen.

Write(UInt32)

Skriver textrepresentationen av ett osignerat heltal på 4 byte till textströmmen.

(Ärvd från TextWriter)
Write(UInt64)

Skriver textrepresentationen av ett osignerat heltal på 8 byte till textströmmen.

(Ärvd från TextWriter)
WriteAsync(Char)

Skriver ett tecken till strängen asynkront.

WriteAsync(Char[], Int32, Int32)

Skriver en underordning med tecken till strängen asynkront.

WriteAsync(Char[])

Skriver en teckenmatris till textströmmen asynkront.

(Ärvd från TextWriter)
WriteAsync(ReadOnlyMemory<Char>, CancellationToken)

Skriver asynkront ett minnesområde med tecken till strängen.

WriteAsync(String)

Skriver en sträng till den aktuella strängen asynkront.

WriteLine()

Skriver en radavgränsare till textströmmen.

(Ärvd från TextWriter)
WriteLine(Boolean)

Skriver textrepresentationen av ett Boolean värde till textströmmen följt av en radavgränsare.

(Ärvd från TextWriter)
WriteLine(Char)

Skriver ett tecken till textströmmen följt av en radavgränsare.

(Ärvd från TextWriter)
WriteLine(Char[], Int32, Int32)

Skriver ett underordnat tecken till textströmmen följt av en radavgränsare.

(Ärvd från TextWriter)
WriteLine(Char[])

Skriver en matris med tecken till textströmmen följt av en radavgränsare.

(Ärvd från TextWriter)
WriteLine(Decimal)

Skriver textrepresentationen av ett decimalvärde till textströmmen följt av en radavgränsare.

(Ärvd från TextWriter)
WriteLine(Double)

Skriver textrepresentationen av ett flyttal på 8 byte till textströmmen följt av en radavgränsare.

(Ärvd från TextWriter)
WriteLine(Int32)

Skriver textrepresentationen av ett 4 byte signerat heltal till textströmmen, följt av en radavgränsare.

(Ärvd från TextWriter)
WriteLine(Int64)

Skriver textrepresentationen av ett 8 byte signerat heltal till textströmmen, följt av en radavgränsare.

(Ärvd från TextWriter)
WriteLine(Object)

Skriver textrepresentationen av ett objekt till textströmmen genom att anropa ToString metoden för objektet, följt av en radavgränsare.

(Ärvd från TextWriter)
WriteLine(ReadOnlySpan<Char>)

Skriver textrepresentationen ett intervall med tecken till strängen, följt av en radavgränsare.

WriteLine(Single)

Skriver textrepresentationen av ett flyttal på 4 byte till textströmmen följt av en radavslutare.

(Ärvd från TextWriter)
WriteLine(String, Object, Object, Object)

Skriver ut en formaterad sträng och en ny rad till textströmmen med samma semantik som Format(String, Object).

(Ärvd från TextWriter)
WriteLine(String, Object, Object)

Skriver en formaterad sträng och en ny rad till textströmmen med samma semantik som Format(String, Object, Object) metoden.

(Ärvd från TextWriter)
WriteLine(String, Object)

Skriver en formaterad sträng och en ny rad till textströmmen med samma semantik som Format(String, Object) metoden.

(Ärvd från TextWriter)
WriteLine(String, Object[])

Skriver ut en formaterad sträng och en ny rad till textströmmen med samma semantik som Format(String, Object).

(Ärvd från TextWriter)
WriteLine(String)

Skriver en sträng till textströmmen följt av en radavgränsare.

(Ärvd från TextWriter)
WriteLine(UInt32)

Skriver textrepresentationen av ett osignerat heltal på 4 byte till textströmmen följt av en radavgränsare.

(Ärvd från TextWriter)
WriteLine(UInt64)

Skriver textrepresentationen av ett osignerat heltal på 8 byte till textströmmen, följt av en radavgränsare.

(Ärvd från TextWriter)
WriteLineAsync()

Skriver asynkront en radavgränsare till textströmmen.

(Ärvd från TextWriter)
WriteLineAsync(Char)

Skriver asynkront ett tecken till strängen följt av en radavslutare.

WriteLineAsync(Char[], Int32, Int32)

skriver asynkront ett underordnat tecken till strängen följt av en radavslutare.

WriteLineAsync(Char[])

Skriver asynkront en matris med tecken till textströmmen följt av en radavgränsare.

(Ärvd från TextWriter)
WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken)

Skriver asynkront strängrepresentationen av minnesregionen för tecken till den aktuella strängen, följt av en radavslutare.

WriteLineAsync(String)

Skriver asynkront en sträng till den aktuella strängen följt av en radavslutare.

Explicita gränssnittsimplementeringar

Name Description
IDisposable.Dispose()

En beskrivning av den här medlemmen finns i Dispose().

(Ärvd från TextWriter)

Tilläggsmetoder

Name Description
ConfigureAwait(IAsyncDisposable, Boolean)

Konfigurerar hur väntar på de uppgifter som returneras från en asynkron disponibel ska utföras.

Gäller för

Se även