StringWriter Osztály

Definíció

Implementál egy TextWriter információt sztringbe való íráshoz. Az információkat egy mögöttes StringBuilderhelyen tárolja a rendszer.

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
Öröklődés
StringWriter
Öröklődés
Attribútumok

Példák

Az alábbi példakód bemutatja egy folytonos bekezdés létrehozását két szóközzel elválasztott mondatokból, majd a bekezdés eredeti szöveggé alakítását.

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

Megjegyzések

StringWriter lehetővé teszi a sztringek szinkron vagy aszinkron írását. Egyszerre írhat karaktert a metódussal vagy Write(Char) a WriteAsync(Char) metódussal, egy sztringet egy adott időpontban a vagy a Write(String)WriteAsync(String) metódus használatával. Emellett egy karaktert, egy karaktertömböt vagy egy sztringet is írhat, amelyet a sor terminátora követ aszinkron módon az WriteLineAsync egyik metódussal.

Note

Ez a típus implementálja az interfészt IDisposable , de valójában nincs elidegenítendő erőforrása. Ez azt jelenti, hogy a Dispose() közvetlen meghívásával vagy egy olyan nyelvi szerkezettel, mint például using (C#-ban) vagy Using (Visual Basic) nem szükséges.

Az alábbi táblázat más tipikus vagy kapcsolódó I/O-feladatokra mutat be példákat.

Ehhez... Tekintse meg a jelen témakörben szereplő példát...
Szövegfájl létrehozása. Útmutató: Szöveg írása fájlba
Írás szövegfájlba. Útmutató: Szöveg írása fájlba
Olvasás szövegfájlból. Útmutató: Szöveg beolvasása fájlból
Szöveg hozzáfűzése egy fájlhoz. Útmutató: Naplófájl megnyitása és hozzáfűzése

File.AppendText

FileInfo.AppendText
Fájl méretének lekérése. FileInfo.Length
A fájl attribútumainak lekérése. File.GetAttributes
Adja meg egy fájl attribútumait. File.SetAttributes
Állapítsa meg, hogy létezik-e fájl. File.Exists
Olvasás bináris fájlból. Útmutató: Olvasás és írás újonnan létrehozott adatfájlba
Írás bináris fájlba. Útmutató: Olvasás és írás újonnan létrehozott adatfájlba

Konstruktorok

Name Description
StringWriter()

Inicializálja a StringWriter osztály új példányát.

StringWriter(IFormatProvider)

Inicializálja az osztály új példányát StringWriter a megadott formátumvezérlővel.

StringWriter(StringBuilder, IFormatProvider)

Inicializálja annak az osztálynak az StringWriter új példányát, amely a megadott StringBuilder formátumszolgáltatóval rendelkezik.

StringWriter(StringBuilder)

Inicializálja a StringWriter megadott StringBuilderosztályba írandó osztály új példányát.

Mezők

Name Description
CoreNewLine

A az ehhez használt új vonalkarakterek TextWritertárolására szolgál.

(Öröklődés forrása TextWriter)

Tulajdonságok

Name Description
Encoding

Lekéri a Encoding kimenet írási értékét.

FormatProvider

Lekéri a formázást vezérlő objektumot.

(Öröklődés forrása TextWriter)
NewLine

Lekéri vagy beállítja az aktuális TextWriteráltal használt vonal-terminátor sztringet.

(Öröklődés forrása TextWriter)

Metódusok

Name Description
Close()

Bezárja az aktuális StringWriter és a mögöttes streamet.

CreateObjRef(Type)

Létrehoz egy objektumot, amely tartalmazza a távoli objektumokkal való kommunikációhoz használt proxy létrehozásához szükséges összes releváns információt.

(Öröklődés forrása MarshalByRefObject)
Dispose()

Felszabadítja az objektum által használt összes erőforrást TextWriter .

(Öröklődés forrása TextWriter)
Dispose(Boolean)

Felszabadítja a felügyelt erőforrások által StringWriter használt nem felügyelt erőforrásokat, és opcionálisan felszabadítja a felügyelt erőforrásokat.

DisposeAsync()

Aszinkron módon felszabadítja az objektum által használt összes erőforrást TextWriter .

(Öröklődés forrása TextWriter)
Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
Flush()

Törli az aktuális író összes pufferét, és a pufferelt adatokat a mögöttes eszközre írja.

(Öröklődés forrása TextWriter)
FlushAsync()

Aszinkron módon törli az aktuális író összes pufferét, és a pufferelt adatokat a mögöttes eszközre írja.

FlushAsync(CancellationToken)

Aszinkron módon törli az aktuális író összes pufferét, és a pufferelt adatokat a mögöttes eszközre írja.

(Öröklődés forrása TextWriter)
GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetLifetimeService()
Elavult.

Lekéri a példány élettartamszabályzatát vezérlő aktuális élettartam-szolgáltatásobjektumot.

(Öröklődés forrása MarshalByRefObject)
GetStringBuilder()

A mögöttes StringBuilderértéket adja vissza.

GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
InitializeLifetimeService()
Elavult.

Beolvas egy élettartam-szolgáltatásobjektumot a példány élettartam-szabályzatának szabályozásához.

(Öröklődés forrása MarshalByRefObject)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
MemberwiseClone(Boolean)

Az aktuális MarshalByRefObject objektum sekély másolatát hozza létre.

(Öröklődés forrása MarshalByRefObject)
ToString()

Az aktuálisra StringWriter eddig írt karaktereket tartalmazó sztringet ad vissza.

Write(Boolean)

Egy érték szöveges ábrázolását Boolean írja a szövegstreambe.

(Öröklődés forrása TextWriter)
Write(Char)

Karaktert ír a sztringbe.

Write(Char[], Int32, Int32)

Karakterek alarráit írja a sztringbe.

Write(Char[])

Karaktertömböt ír a szövegstreambe.

(Öröklődés forrása TextWriter)
Write(Decimal)

Decimális érték szöveges ábrázolását írja a szövegfolyamba.

(Öröklődés forrása TextWriter)
Write(Double)

Egy 8 bájtos lebegőpontos érték szöveges ábrázolását írja a szövegfolyamba.

(Öröklődés forrása TextWriter)
Write(Int32)

Egy 4 bájtos aláírt egész szám szöveges ábrázolását írja a szövegstreambe.

(Öröklődés forrása TextWriter)
Write(Int64)

Egy 8 bájtos aláírt egész szám szöveges ábrázolását írja a szövegstreambe.

(Öröklődés forrása TextWriter)
Write(Object)

Egy objektum szöveges ábrázolását írja a szövegstreambe az ToString objektum metódusának meghívásával.

(Öröklődés forrása TextWriter)
Write(ReadOnlySpan<Char>)

Egy karaktersorozat sztringképét írja az aktuális sztringre.

Write(Rune)

Implementál egy TextWriter információt sztringbe való íráshoz. Az információkat egy mögöttes StringBuilderhelyen tárolja a rendszer.

(Öröklődés forrása TextWriter)
Write(Single)

Egy 4 bájtos lebegőpontos érték szöveges ábrázolását írja a szövegstreambe.

(Öröklődés forrása TextWriter)
Write(String, Object, Object, Object)

Formázott sztringet ír a szövegstreambe ugyanazzal a szemantikával, mint a Format(String, Object, Object, Object) metódus.

(Öröklődés forrása TextWriter)
Write(String, Object, Object)

Formázott sztringet ír a szövegfolyamba ugyanazzal a szemantikával, mint a Format(String, Object, Object) metódus.

(Öröklődés forrása TextWriter)
Write(String, Object)

Formázott sztringet ír a szövegstreambe ugyanazzal a szemantikával, mint a Format(String, Object) metódus.

(Öröklődés forrása TextWriter)
Write(String, Object[])

Formázott sztringet ír a szövegstreambe ugyanazzal a szemantikával, mint a Format(String, Object[]) metódus.

(Öröklődés forrása TextWriter)
Write(String, ReadOnlySpan<Object>)

Formázott sztringet ír a szövegfolyamba ugyanazzal a szemantikával, mint Format(String, ReadOnlySpan<Object>)a .

(Öröklődés forrása TextWriter)
Write(String)

Sztringet ír az aktuális sztringre.

Write(StringBuilder)

Egy sztringszerkesztő sztringképét írja az aktuális sztringre.

Write(UInt32)

Egy 4 bájtos, aláíratlan egész szám szöveges ábrázolását írja a szövegstreambe.

(Öröklődés forrása TextWriter)
Write(UInt64)

Egy 8 bájtos, aláíratlan egész szám szöveges ábrázolását írja a szövegfolyamba.

(Öröklődés forrása TextWriter)
WriteAsync(Char)

Aszinkron módon ír egy karaktert a sztringbe.

WriteAsync(Char[], Int32, Int32)

A karakterek alarráit aszinkron módon írja a sztringbe.

WriteAsync(Char[])

Karaktertömb írása aszinkron módon a szövegfolyamba.

(Öröklődés forrása TextWriter)
WriteAsync(ReadOnlyMemory<Char>, CancellationToken)

Aszinkron módon karakterek memóriaterületét írja a sztringbe.

WriteAsync(Rune)

Implementál egy TextWriter információt sztringbe való íráshoz. Az információkat egy mögöttes StringBuilderhelyen tárolja a rendszer.

(Öröklődés forrása TextWriter)
WriteAsync(String, CancellationToken)

Implementál egy TextWriter információt sztringbe való íráshoz. Az információkat egy mögöttes StringBuilderhelyen tárolja a rendszer.

(Öröklődés forrása TextWriter)
WriteAsync(String)

Sztringet aszinkron módon ír az aktuális sztringre.

WriteAsync(StringBuilder, CancellationToken)

Aszinkron módon írja a sztringszerkesztő szöveges ábrázolását a sztringbe.

WriteLine()

Egy sorkiadót ír a szövegstreambe.

(Öröklődés forrása TextWriter)
WriteLine(Boolean)

Egy érték szöveges ábrázolását Boolean írja a szövegstreambe, majd egy sorkiadót.

(Öröklődés forrása TextWriter)
WriteLine(Char)

Karaktert ír a szövegfolyamba, majd egy sorkiválasztót.

(Öröklődés forrása TextWriter)
WriteLine(Char[], Int32, Int32)

A szövegfolyamba karakterek alarráit írja, amelyet egy sorkiválasztó követ.

(Öröklődés forrása TextWriter)
WriteLine(Char[])

Egy karaktertömböt ír a szövegstreambe, amelyet egy sor terminátor követ.

(Öröklődés forrása TextWriter)
WriteLine(Decimal)

Egy decimális érték szöveges ábrázolását írja a szövegfolyamba, majd egy sorkiválasztót.

(Öröklődés forrása TextWriter)
WriteLine(Double)

Egy 8 bájtos lebegőpontos érték szöveges ábrázolását írja a szövegfolyamba, majd egy sorkijelölőt.

(Öröklődés forrása TextWriter)
WriteLine(Int32)

Egy 4 bájtos aláírt egész szám szöveges ábrázolását írja a szövegfolyamba, majd egy sorkijelölőt.

(Öröklődés forrása TextWriter)
WriteLine(Int64)

Egy 8 bájtos aláírt egész szám szöveges ábrázolását írja a szövegfolyamba, majd egy sorkijelölőt.

(Öröklődés forrása TextWriter)
WriteLine(Object)

Egy objektum szövegábrázolását írja a szövegstreambe a metódus meghívásával ToString az objektumon, majd egy sorkiadóval.

(Öröklődés forrása TextWriter)
WriteLine(ReadOnlySpan<Char>)

A szöveges ábrázolás egy karaktersorozatot ír a sztringre, majd egy sorkijelezőt.

WriteLine(Rune)

Implementál egy TextWriter információt sztringbe való íráshoz. Az információkat egy mögöttes StringBuilderhelyen tárolja a rendszer.

(Öröklődés forrása TextWriter)
WriteLine(Single)

Egy 4 bájtos lebegőpontos érték szöveges ábrázolását írja a szövegfolyamba, majd egy sorkijelölőt.

(Öröklődés forrása TextWriter)
WriteLine(String, Object, Object, Object)

Formázott sztringet és egy új sort ír ki a szövegfolyamba ugyanazzal a szemantikával, mint Format(String, Object)a .

(Öröklődés forrása TextWriter)
WriteLine(String, Object, Object)

Formázott sztringet és egy új sort ír a szövegfolyamba ugyanazzal a szemantikával, mint a Format(String, Object, Object) metódus.

(Öröklődés forrása TextWriter)
WriteLine(String, Object)

Formázott sztringet és egy új sort ír a szövegfolyamba ugyanazzal a szemantikával, mint a Format(String, Object) metódus.

(Öröklődés forrása TextWriter)
WriteLine(String, Object[])

Formázott sztringet és egy új sort ír ki a szövegfolyamba ugyanazzal a szemantikával, mint Format(String, Object)a .

(Öröklődés forrása TextWriter)
WriteLine(String, ReadOnlySpan<Object>)

Formázott sztringet és egy új sort ír ki a szövegfolyamba ugyanazzal a szemantikával, mint Format(String, ReadOnlySpan<Object>)a .

(Öröklődés forrása TextWriter)
WriteLine(String)

Sztringet ír a szövegfolyamba, majd egy sorkiválasztót.

(Öröklődés forrása TextWriter)
WriteLine(StringBuilder)

Egy sztringszerkesztő szövegábrázolását írja a sztringbe, majd egy sor terminátort.

WriteLine(UInt32)

Egy 4 bájtos, aláíratlan egész szám szöveges ábrázolását írja a szövegfolyamba, majd egy sorkijelzőt.

(Öröklődés forrása TextWriter)
WriteLine(UInt64)

Egy 8 bájtból álló, aláíratlan egész szám szöveges ábrázolását írja a szövegfolyamba, majd egy sorkijelzőt.

(Öröklődés forrása TextWriter)
WriteLineAsync()

Aszinkron módon egy sor terminátort ír a szövegstreambe.

(Öröklődés forrása TextWriter)
WriteLineAsync(CancellationToken)

Implementál egy TextWriter információt sztringbe való íráshoz. Az információkat egy mögöttes StringBuilderhelyen tárolja a rendszer.

(Öröklődés forrása TextWriter)
WriteLineAsync(Char)

Aszinkron módon egy karaktert ír a sztringbe, majd egy sor terminátort.

WriteLineAsync(Char[], Int32, Int32)

aszinkron módon a karakterek egy részarráját írja a sztringbe, amelyet egy sor terminátor követ.

WriteLineAsync(Char[])

Aszinkron módon egy karaktertömböt ír a szövegstreambe, amelyet egy sorkiválasztó követ.

(Öröklődés forrása TextWriter)
WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken)

Aszinkron módon írja a karakterek memóriaterületének sztringképét az aktuális sztringre, majd egy sor terminátort.

WriteLineAsync(Rune)

Implementál egy TextWriter információt sztringbe való íráshoz. Az információkat egy mögöttes StringBuilderhelyen tárolja a rendszer.

(Öröklődés forrása TextWriter)
WriteLineAsync(String, CancellationToken)

Implementál egy TextWriter információt sztringbe való íráshoz. Az információkat egy mögöttes StringBuilderhelyen tárolja a rendszer.

(Öröklődés forrása TextWriter)
WriteLineAsync(String)

Aszinkron módon egy sztringet ír az aktuális sztringre, amelyet egy sor terminátor követ.

WriteLineAsync(StringBuilder, CancellationToken)

Aszinkron módon írja a sztringszerkesztő sztringképét az aktuális sztringre, amelyet egy sor terminátor követ.

Explicit interfész-implementációk

Name Description
IDisposable.Dispose()

Ennek a tagnak a leírását lásd Dispose(): .

(Öröklődés forrása TextWriter)

Bővítő metódusok

Name Description
ConfigureAwait(IAsyncDisposable, Boolean)

Konfigurálja, hogy az aszinkron eldobható feladatok hogyan lesznek végrehajtva.

A következőre érvényes:

Lásd még