StringWriter Klas

Definitie

Implementeert een TextWriter voor het schrijven van informatie naar een tekenreeks. De informatie wordt opgeslagen in een onderliggende 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
Overname
StringWriter
Overname
Kenmerken

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u een doorlopende alinea maakt van een groep dubbele zinnen en vervolgens de conversie van de alinea terug naar de oorspronkelijke tekst.

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

Opmerkingen

StringWriter hiermee kunt u synchroon of asynchroon naar een tekenreeks schrijven. U kunt een teken tegelijk schrijven met de Write(Char) of de WriteAsync(Char) methode, een tekenreeks tegelijk met behulp van de Write(String) of de WriteAsync(String) methode. Daarnaast kunt u een teken, een matrix met tekens of een tekenreeks schrijven, gevolgd door de regeleindtekens asynchroon met een van de WriteLineAsync methoden.

Note

Met dit type wordt de IDisposable interface geïmplementeerd, maar er zijn geen resources om te verwijderen. Dit betekent dat het verwijderen ervan door het rechtstreeks aanroepen van Dispose() of met behulp van een taalconstructie zoals using (in C#) of Using (in Visual Basic) niet nodig is.

De volgende tabel bevat voorbeelden van andere typische of gerelateerde I/O-taken.

Om dit te doen… Zie het voorbeeld in dit onderwerp...
Maak een tekstbestand. Procedure: Tekst naar een bestand schrijven
Schrijf naar een tekstbestand. Procedure: Tekst naar een bestand schrijven
Lezen uit een tekstbestand. Procedure: Tekst uit een bestand lezen
Voeg tekst toe aan een bestand. Procedure: Openen en toevoegen aan een logboekbestand

File.AppendText

FileInfo.AppendText
De grootte van een bestand ophalen. FileInfo.Length
Haal de kenmerken van een bestand op. File.GetAttributes
Stel de kenmerken van een bestand in. File.SetAttributes
Bepaal of er een bestand bestaat. File.Exists
Lezen uit een binair bestand. Procedure: lezen en schrijven naar een nieuw gegevensbestand
Schrijven naar een binair bestand. Procedure: lezen en schrijven naar een nieuw gegevensbestand

Constructors

Name Description
StringWriter()

Initialiseert een nieuw exemplaar van de StringWriter klasse.

StringWriter(IFormatProvider)

Initialiseert een nieuw exemplaar van de StringWriter klasse met het opgegeven indelingsbeheer.

StringWriter(StringBuilder, IFormatProvider)

Initialiseert een nieuw exemplaar van de klasse die naar de StringWriter opgegeven StringBuilder klasse schrijft en de opgegeven indelingsprovider heeft.

StringWriter(StringBuilder)

Initialiseert een nieuw exemplaar van de StringWriter klasse die naar de opgegeven StringBuilderklasse schrijft.

Velden

Name Description
CoreNewLine

Slaat de nieuwe regeltekens op die hiervoor TextWriterworden gebruikt.

(Overgenomen van TextWriter)

Eigenschappen

Name Description
Encoding

Hiermee haalt u de Encoding uitvoer op waarin de uitvoer wordt geschreven.

FormatProvider

Hiermee haalt u een object op waarmee de opmaak wordt beheerd.

(Overgenomen van TextWriter)
NewLine

Hiermee haalt u de regeleindtekenreeks op die door de huidige TextWriterwordt gebruikt of stelt u deze in.

(Overgenomen van TextWriter)

Methoden

Name Description
Close()

Hiermee sluit u de huidige StringWriter en de onderliggende stroom.

CreateObjRef(Type)

Hiermee maakt u een object dat alle relevante informatie bevat die nodig is om een proxy te genereren die wordt gebruikt om te communiceren met een extern object.

(Overgenomen van MarshalByRefObject)
Dispose()

Alle resources die door het TextWriter object worden gebruikt, worden vrijgegeven.

(Overgenomen van TextWriter)
Dispose(Boolean)

Publiceert de niet-beheerde resources die worden gebruikt door de StringWriter beheerde resources en brengt eventueel de beheerde resources vrij.

DisposeAsync()

Asynchroon geeft alle resources vrij die door het TextWriter object worden gebruikt.

(Overgenomen van TextWriter)
Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
Flush()

Wist alle buffers voor de huidige schrijver en zorgt ervoor dat gebufferde gegevens naar het onderliggende apparaat worden geschreven.

(Overgenomen van TextWriter)
FlushAsync()

Asynchroon wist alle buffers voor de huidige schrijver en zorgt ervoor dat eventuele gebufferde gegevens naar het onderliggende apparaat worden geschreven.

GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetLifetimeService()

Hiermee haalt u het huidige levensduurserviceobject op waarmee het levensduurbeleid voor dit exemplaar wordt beheerd.

(Overgenomen van MarshalByRefObject)
GetStringBuilder()

Retourneert de onderliggende StringBuilderwaarde.

GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
InitializeLifetimeService()

Hiermee haalt u een levensduurserviceobject op om het levensduurbeleid voor dit exemplaar te beheren.

(Overgenomen van MarshalByRefObject)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
MemberwiseClone(Boolean)

Hiermee maakt u een ondiepe kopie van het huidige MarshalByRefObject object.

(Overgenomen van MarshalByRefObject)
ToString()

Retourneert een tekenreeks met de tekens die tot nu toe naar de huidige StringWriter zijn geschreven.

Write(Boolean)

Hiermee schrijft u de tekstweergave van een Boolean waarde naar de tekststroom.

(Overgenomen van TextWriter)
Write(Char)

Hiermee schrijft u een teken naar de tekenreeks.

Write(Char[], Int32, Int32)

Hiermee schrijft u een submaarray van tekens naar de tekenreeks.

Write(Char[])

Hiermee schrijft u een tekenmatrix naar de tekststroom.

(Overgenomen van TextWriter)
Write(Decimal)

Hiermee schrijft u de tekstweergave van een decimale waarde naar de tekststroom.

(Overgenomen van TextWriter)
Write(Double)

Hiermee schrijft u de tekstweergave van een 8-byte zwevende-kommawaarde naar de tekststroom.

(Overgenomen van TextWriter)
Write(Int32)

Hiermee schrijft u de tekstweergave van een geheel getal met 4 bytetekens naar de tekststroom.

(Overgenomen van TextWriter)
Write(Int64)

Hiermee schrijft u de tekstweergave van een geheel getal van 8 byte dat is ondertekend naar de tekststroom.

(Overgenomen van TextWriter)
Write(Object)

Hiermee schrijft u de tekstweergave van een object naar de tekststroom door de ToString methode voor dat object aan te roepen.

(Overgenomen van TextWriter)
Write(ReadOnlySpan<Char>)

Hiermee schrijft u de tekenreeksweergave van een reeks tekens naar de huidige tekenreeks.

Write(Single)

Hiermee schrijft u de tekstweergave van een 4-byte zwevende-kommawaarde naar de tekststroom.

(Overgenomen van TextWriter)
Write(String, Object, Object, Object)

Hiermee schrijft u een opgemaakte tekenreeks naar de tekststroom, met behulp van dezelfde semantiek als de Format(String, Object, Object, Object) methode.

(Overgenomen van TextWriter)
Write(String, Object, Object)

Hiermee schrijft u een opgemaakte tekenreeks naar de tekststroom met behulp van dezelfde semantiek als de Format(String, Object, Object) methode.

(Overgenomen van TextWriter)
Write(String, Object)

Hiermee schrijft u een opgemaakte tekenreeks naar de tekststroom, met behulp van dezelfde semantiek als de Format(String, Object) methode.

(Overgenomen van TextWriter)
Write(String, Object[])

Hiermee schrijft u een opgemaakte tekenreeks naar de tekststroom, met behulp van dezelfde semantiek als de Format(String, Object[]) methode.

(Overgenomen van TextWriter)
Write(String)

Hiermee schrijft u een tekenreeks naar de huidige tekenreeks.

Write(UInt32)

Hiermee schrijft u de tekstweergave van een niet-ondertekend geheel getal van vier bytes naar de tekststroom.

(Overgenomen van TextWriter)
Write(UInt64)

Hiermee schrijft u de tekstweergave van een niet-ondertekend geheel getal van 8 bytes naar de tekststroom.

(Overgenomen van TextWriter)
WriteAsync(Char)

Hiermee schrijft u een teken asynchroon naar de tekenreeks.

WriteAsync(Char[], Int32, Int32)

Hiermee schrijft u een submaarray van tekens naar de tekenreeks asynchroon.

WriteAsync(Char[])

Hiermee schrijft u een tekenmatrix asynchroon naar de tekststroom.

(Overgenomen van TextWriter)
WriteAsync(ReadOnlyMemory<Char>, CancellationToken)

Asynchroon schrijft een geheugengebied met tekens naar de tekenreeks.

WriteAsync(String)

Hiermee schrijft u een tekenreeks asynchroon naar de huidige tekenreeks.

WriteLine()

Hiermee schrijft u een regeleindteken naar de tekststroom.

(Overgenomen van TextWriter)
WriteLine(Boolean)

Hiermee schrijft u de tekstweergave van een Boolean waarde naar de tekststroom, gevolgd door een regeleindteken.

(Overgenomen van TextWriter)
WriteLine(Char)

Hiermee schrijft u een teken naar de tekststroom, gevolgd door een regeleindteken.

(Overgenomen van TextWriter)
WriteLine(Char[], Int32, Int32)

Hiermee schrijft u een submaarray van tekens naar de tekststroom, gevolgd door een regeleindteken.

(Overgenomen van TextWriter)
WriteLine(Char[])

Hiermee schrijft u een matrix met tekens naar de tekststroom, gevolgd door een regeleindteken.

(Overgenomen van TextWriter)
WriteLine(Decimal)

Hiermee schrijft u de tekstweergave van een decimale waarde naar de tekststroom, gevolgd door een regeleindteken.

(Overgenomen van TextWriter)
WriteLine(Double)

Hiermee schrijft u de tekstweergave van een 8-byte zwevende-kommawaarde naar de tekststroom, gevolgd door een regeleindteken.

(Overgenomen van TextWriter)
WriteLine(Int32)

Hiermee schrijft u de tekstweergave van een geheel getal met 4 bytetekens naar de tekststroom, gevolgd door een regeleindteken.

(Overgenomen van TextWriter)
WriteLine(Int64)

Hiermee schrijft u de tekstweergave van een geheel getal met 8 bytetekens naar de tekststroom, gevolgd door een regeleindteken.

(Overgenomen van TextWriter)
WriteLine(Object)

Hiermee schrijft u de tekstweergave van een object naar de tekststroom door de ToString methode voor dat object aan te roepen, gevolgd door een regeleindteken.

(Overgenomen van TextWriter)
WriteLine(ReadOnlySpan<Char>)

Hiermee schrijft u een reeks tekens naar de tekenreeks, gevolgd door een regeleindteken.

WriteLine(Single)

Hiermee schrijft u de tekstweergave van een 4-byte zwevende-kommawaarde naar de tekststroom, gevolgd door een regeleindteken.

(Overgenomen van TextWriter)
WriteLine(String, Object, Object, Object)

Hiermee schrijft u een opgemaakte tekenreeks en een nieuwe regel naar de tekststroom, met behulp van dezelfde semantiek als Format(String, Object).

(Overgenomen van TextWriter)
WriteLine(String, Object, Object)

Hiermee schrijft u een opgemaakte tekenreeks en een nieuwe regel naar de tekststroom, met behulp van dezelfde semantiek als de Format(String, Object, Object) methode.

(Overgenomen van TextWriter)
WriteLine(String, Object)

Hiermee schrijft u een opgemaakte tekenreeks en een nieuwe regel naar de tekststroom, met behulp van dezelfde semantiek als de Format(String, Object) methode.

(Overgenomen van TextWriter)
WriteLine(String, Object[])

Hiermee schrijft u een opgemaakte tekenreeks en een nieuwe regel naar de tekststroom, met behulp van dezelfde semantiek als Format(String, Object).

(Overgenomen van TextWriter)
WriteLine(String)

Hiermee schrijft u een tekenreeks naar de tekststroom, gevolgd door een regeleindteken.

(Overgenomen van TextWriter)
WriteLine(UInt32)

Hiermee schrijft u de tekstweergave van een niet-ondertekend geheel getal van vier bytes naar de tekststroom, gevolgd door een regeleindteken.

(Overgenomen van TextWriter)
WriteLine(UInt64)

Hiermee schrijft u de tekstweergave van een niet-ondertekend geheel getal van 8 bytes naar de tekststroom, gevolgd door een regeleindteken.

(Overgenomen van TextWriter)
WriteLineAsync()

Asynchroon schrijft een regeleindteken naar de tekststroom.

(Overgenomen van TextWriter)
WriteLineAsync(Char)

Asynchroon schrijft een teken naar de tekenreeks, gevolgd door een regeleindteken.

WriteLineAsync(Char[], Int32, Int32)

asynchroon schrijft een submaarray van tekens naar de tekenreeks, gevolgd door een regeleindteken.

WriteLineAsync(Char[])

Asynchroon schrijft een matrix met tekens naar de tekststroom, gevolgd door een regeleindteken.

(Overgenomen van TextWriter)
WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken)

Asynchroon schrijft de tekenreeksweergave van het geheugengebied van tekens naar de huidige tekenreeks, gevolgd door een regeleindteken.

WriteLineAsync(String)

Asynchroon schrijft een tekenreeks naar de huidige tekenreeks, gevolgd door een regeleindteken.

Expliciete interface-implementaties

Name Description
IDisposable.Dispose()

Zie voor een beschrijving van dit lid Dispose().

(Overgenomen van TextWriter)

Extensiemethoden

Name Description
ConfigureAwait(IAsyncDisposable, Boolean)

Hiermee configureert u hoe wacht op de taken die worden geretourneerd op basis van een asynchroon wegwerp, worden uitgevoerd.

Van toepassing op

Zie ook