StringWriter Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Implementuje TextWriter pro zápis informací do řetězce. Informace jsou uloženy v podkladovém StringBuilderobjektu .
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
- Dědičnost
- Dědičnost
- Atributy
Příklady
Následující příklad kódu ukazuje vytvoření souvislého odstavce ze skupiny dvojitých mezer vět a poté převod odstavce zpět na původní text.
using namespace System;
using namespace System::IO;
int 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;
String^ aParagraph;
StringReader^ strReader = gcnew StringReader( textReaderText );
while ( true )
{
aLine = strReader->ReadLine();
if ( aLine != nullptr )
{
aParagraph = String::Concat( aParagraph, aLine, " " );
}
else
{
aParagraph = String::Concat( aParagraph, "\n" );
break;
}
}
Console::WriteLine( "Modified text:\n\n{0}", aParagraph );
// Re-create textReaderText from aParagraph.
int intCharacter;
Char convertedCharacter;
StringWriter^ strWriter = gcnew StringWriter;
strReader = gcnew StringReader( aParagraph );
while ( true )
{
intCharacter = strReader->Read();
// Check for the end of the string
// before converting to a character.
if ( intCharacter == -1 )
break;
convertedCharacter = Convert::ToChar( 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() );
}
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
Poznámky
StringWriter umožňuje zápis do řetězce synchronně nebo asynchronně. Pomocí metody nebo můžete napsat znak najednou WriteAsync(String)Write(String) pomocí Write(Char) metody nebo WriteAsync(Char) řetězce. Kromě toho můžete asynchronně napsat znak, pole znaků nebo řetězec následovaný ukončovacím znakem řádku pomocí jedné z WriteLineAsync metod.
Poznámka
Tento typ implementuje IDisposable rozhraní, ale ve skutečnosti nemá žádné prostředky k odstranění. To znamená, že jeho odstranění přímým voláním Dispose() nebo pomocí konstruktoru jazyka, jako using
je (v jazyce C#) nebo Using
(v jazyce Visual Basic), není nutné.
Následující tabulka uvádí příklady dalších typických nebo souvisejících vstupně-výstupních úloh.
Požadovaná akce... | Další informace naleznete v příkladu v tomto tématu... |
---|---|
Create textový soubor. | Postupy: Zápis textu do souboru |
Zápis do textového souboru | Postupy: Zápis textu do souboru |
Čtení z textového souboru | Postupy: Čtení textu ze souboru |
Připojení textu k souboru | Postupy: Otevření a připojení k souboru protokolu File.AppendText FileInfo.AppendText |
Získejte velikost souboru. | FileInfo.Length |
Získá atributy souboru. | File.GetAttributes |
Nastavte atributy souboru. | File.SetAttributes |
Zjistěte, jestli existuje soubor. | File.Exists |
Čtení z binárního souboru | Postupy: Čtení a zápis do nově vytvořeného datového souboru |
Zápis do binárního souboru | Postupy: Čtení a zápis do nově vytvořeného datového souboru |
Konstruktory
StringWriter() |
Inicializuje novou instanci StringWriter třídy . |
StringWriter(IFormatProvider) |
Inicializuje novou instanci StringWriter třídy se zadaným formátem ovládacího prvku. |
StringWriter(StringBuilder) |
Inicializuje novou instanci StringWriter třídy , která zapisuje do zadaného StringBuilderobjektu . |
StringWriter(StringBuilder, IFormatProvider) |
Inicializuje novou instanci StringWriter třídy, která zapisuje do zadaného StringBuilder a má zadaného zprostředkovatele formátu. |
Pole
CoreNewLine |
Ukládá znaky nového řádku použité pro tento . |
Vlastnosti
Encoding |
Získá, Encoding ve kterém je zapsán výstup. |
FormatProvider |
Získá objekt, který řídí formátování. (Zděděno od TextWriter) |
NewLine |
Získá nebo nastaví řetězec ukončovací čáry používaný aktuální |
Metody
Close() |
Zavře aktuální StringWriter a podkladový datový proud. |
Close() |
Zavře aktuální zapisovač a uvolní všechny systémové prostředky přidružené k zapisovači. (Zděděno od TextWriter) |
CreateObjRef(Type) |
Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy sloužící ke komunikaci se vzdáleným objektem. (Zděděno od MarshalByRefObject) |
Dispose() |
Uvolní všechny prostředky používané objektem TextWriter . (Zděděno od TextWriter) |
Dispose(Boolean) |
Uvolní nespravované prostředky používané nástrojem StringWriter a volitelně uvolní spravované prostředky. |
DisposeAsync() |
Asynchronně uvolní všechny prostředky používané objektem TextWriter . (Zděděno od TextWriter) |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
Flush() |
Vymaže všechny vyrovnávací paměti pro aktuální zapisovač a způsobí zápis všech dat do vyrovnávací paměti do základního zařízení. (Zděděno od TextWriter) |
FlushAsync() |
Asynchronně vymaže všechny vyrovnávací paměti pro aktuální zapisovač a způsobí zápis všech dat do vyrovnávací paměti do základního zařízení. |
FlushAsync() |
Asynchronně vymaže všechny vyrovnávací paměti pro aktuální zapisovač a způsobí zápis všech dat do vyrovnávací paměti do základního zařízení. (Zděděno od TextWriter) |
FlushAsync(CancellationToken) |
Asynchronně vymaže všechny vyrovnávací paměti pro aktuální zapisovač a způsobí zápis všech dat do vyrovnávací paměti do základního zařízení. (Zděděno od TextWriter) |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetLifetimeService() |
Zastaralé.
Načte aktuální životnost objektu služby, který řídí zásady životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
GetStringBuilder() |
Vrátí základní hodnotu StringBuilder. |
GetType() |
Type Získá z aktuální instance. (Zděděno od Object) |
InitializeLifetimeService() |
Zastaralé.
Získá životnost objektu služby, který řídí zásady životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
MemberwiseClone(Boolean) |
Vytvoří mělkou kopii aktuálního MarshalByRefObject objektu. (Zděděno od MarshalByRefObject) |
ToString() |
Vrátí řetězec obsahující znaky zapsané do aktuálního |
Write(Boolean) |
Zapíše textovou reprezentaci |
Write(Char) |
Zapíše znak do řetězce. |
Write(Char[]) |
Zapíše pole znaků do textového streamu. (Zděděno od TextWriter) |
Write(Char[], Int32, Int32) |
Zapíše do řetězce dílčí pole znaků. |
Write(Decimal) |
Zapíše textovou reprezentaci desetinné hodnoty do textového proudu. (Zděděno od TextWriter) |
Write(Double) |
Zapíše textovou reprezentaci hodnoty 8 bajtů s plovoucí desetinou čárkou do textového streamu. (Zděděno od TextWriter) |
Write(Int32) |
Zapíše textovou reprezentaci 4 bajtového celého čísla se 4 bajty do textového datového proudu. (Zděděno od TextWriter) |
Write(Int64) |
Zapíše do textového datového proudu textovou reprezentaci 8 bajtů se psaných čísly se sadou 8 bajtů. (Zděděno od TextWriter) |
Write(Object) |
Zapíše textovou reprezentaci objektu do textového streamu voláním |
Write(ReadOnlySpan<Char>) |
Zapíše řetězcovou reprezentaci rozsahu znaků do aktuálního řetězce. |
Write(ReadOnlySpan<Char>) |
Zapíše rozsah znaků do textového streamu. (Zděděno od TextWriter) |
Write(Single) |
Zapíše textovou reprezentaci 4 bajtové hodnoty s plovoucí desetinou čárkou do textového streamu. (Zděděno od TextWriter) |
Write(String) |
Zapíše řetězec do aktuálního řetězce. |
Write(String, Object) |
Zapíše formátovaný řetězec do textového streamu pomocí stejné sémantiky jako Format(String, Object) metoda . (Zděděno od TextWriter) |
Write(String, Object, Object) |
Zapíše formátovaný řetězec do textového streamu pomocí stejné sémantiky jako Format(String, Object, Object) metoda . (Zděděno od TextWriter) |
Write(String, Object, Object, Object) |
Zapíše formátovaný řetězec do textového streamu pomocí stejné sémantiky jako Format(String, Object, Object, Object) metoda . (Zděděno od TextWriter) |
Write(String, Object[]) |
Zapíše formátovaný řetězec do textového streamu pomocí stejné sémantiky jako Format(String, Object[]) metoda . (Zděděno od TextWriter) |
Write(StringBuilder) |
Zapíše řetězcovou reprezentaci tvůrce řetězců do aktuálního řetězce. |
Write(StringBuilder) |
Zapíše tvůrce řetězců do textového streamu. (Zděděno od TextWriter) |
Write(UInt32) |
Zapíše textovou reprezentaci 4 bajtového celého čísla bez znaménka do textového streamu. (Zděděno od TextWriter) |
Write(UInt64) |
Zapíše textovou reprezentaci 8 bajtového celého čísla bez znaménka do textového streamu. (Zděděno od TextWriter) |
WriteAsync(Char) |
Zapíše znak do řetězce asynchronně. |
WriteAsync(Char) |
Zapíše znak do textového streamu asynchronně. (Zděděno od TextWriter) |
WriteAsync(Char[]) |
Zapíše pole znaků do textového streamu asynchronně. (Zděděno od TextWriter) |
WriteAsync(Char[], Int32, Int32) |
Zapíše dílčí pole znaků do řetězce asynchronně. |
WriteAsync(Char[], Int32, Int32) |
Zapíše dílčí pole znaků do textového streamu asynchronně. (Zděděno od TextWriter) |
WriteAsync(ReadOnlyMemory<Char>, CancellationToken) |
Asynchronně zapíše oblast paměti znaků do řetězce. |
WriteAsync(ReadOnlyMemory<Char>, CancellationToken) |
Asynchronně zapíše oblast znakové paměti do textového streamu. (Zděděno od TextWriter) |
WriteAsync(String) |
Zapíše řetězec do aktuálního řetězce asynchronně. |
WriteAsync(String) |
Zapíše řetězec do textového streamu asynchronně. (Zděděno od TextWriter) |
WriteAsync(StringBuilder, CancellationToken) |
Asynchronně zapíše textovou reprezentaci tvůrce řetězců do řetězce. |
WriteAsync(StringBuilder, CancellationToken) |
Asynchronně zapíše tvůrce řetězců do textového streamu. (Zděděno od TextWriter) |
WriteLine() |
Zapíše ukončovací znak řádku do textového streamu. (Zděděno od TextWriter) |
WriteLine(Boolean) |
Zapíše textovou reprezentaci |
WriteLine(Char) |
Zapíše znak do textového streamu následovaný ukončovacím znakem řádku. (Zděděno od TextWriter) |
WriteLine(Char[]) |
Zapíše pole znaků do textového streamu následované ukončovacím znakem řádku. (Zděděno od TextWriter) |
WriteLine(Char[], Int32, Int32) |
Zapíše dílčí pole znaků do textového streamu následované ukončovacím znakem řádku. (Zděděno od TextWriter) |
WriteLine(Decimal) |
Zapíše textovou reprezentaci desetinné hodnoty do textového proudu následovaného ukončovacím znakem řádku. (Zděděno od TextWriter) |
WriteLine(Double) |
Zapíše textovou reprezentaci hodnoty s plovoucí desetinou čárkou o velikosti 8 bajtů do textového proudu následovanou ukončovacím znakem řádku. (Zděděno od TextWriter) |
WriteLine(Int32) |
Zapíše textovou reprezentaci 4 bajtového podepsaného celého čísla do textového streamu následovaného ukončovacím znakem řádku. (Zděděno od TextWriter) |
WriteLine(Int64) |
Zapíše textovou reprezentaci 8 bajtů podepsaného celého čísla do textového streamu následovaného ukončovacím znakem řádku. (Zděděno od TextWriter) |
WriteLine(Object) |
Zapíše textovou reprezentaci objektu do textového streamu voláním |
WriteLine(ReadOnlySpan<Char>) |
Zapíše do řetězce textovou reprezentaci rozsah znaků následovaný ukončovacím znakem řádku. |
WriteLine(ReadOnlySpan<Char>) |
Zapíše textovou reprezentaci rozsahu znaků do textového streamu následovaného ukončovacím znakem. (Zděděno od TextWriter) |
WriteLine(Single) |
Zapíše textovou reprezentaci hodnoty s plovoucí desetinou čárkou o velikosti 4 bajtů do textového proudu následovaného ukončovacím znakem řádku. (Zděděno od TextWriter) |
WriteLine(String) |
Zapíše řetězec do textového streamu následovaný ukončovacím znakem řádku. (Zděděno od TextWriter) |
WriteLine(String, Object) |
Zapíše formátovaný řetězec a nový řádek do textového streamu pomocí stejné sémantiky jako Format(String, Object) metoda. (Zděděno od TextWriter) |
WriteLine(String, Object, Object) |
Zapíše formátovaný řetězec a nový řádek do textového streamu pomocí stejné sémantiky jako Format(String, Object, Object) metoda. (Zděděno od TextWriter) |
WriteLine(String, Object, Object, Object) |
Zapíše formátovaný řetězec a nový řádek do textového streamu pomocí stejné sémantiky jako Format(String, Object). (Zděděno od TextWriter) |
WriteLine(String, Object[]) |
Zapíše formátovaný řetězec a nový řádek do textového streamu pomocí stejné sémantiky jako Format(String, Object). (Zděděno od TextWriter) |
WriteLine(StringBuilder) |
Zapíše textovou reprezentaci tvůrce řetězců do řetězce následovaný ukončovacím znakem řádku. |
WriteLine(StringBuilder) |
Zapíše textovou reprezentaci tvůrce řetězců do textového streamu následovaného ukončovacím znakem řádku. (Zděděno od TextWriter) |
WriteLine(UInt32) |
Zapíše textovou reprezentaci 4 bajtového celého čísla bez znaménka do textového proudu následovaného ukončovacím znakem řádku. (Zděděno od TextWriter) |
WriteLine(UInt64) |
Zapíše textovou reprezentaci 8 bajtového celého čísla bez znaménka do textového proudu následovaného ukončovacím znakem řádku. (Zděděno od TextWriter) |
WriteLineAsync() |
Asynchronně zapíše ukončovací znak řádku do textového streamu. (Zděděno od TextWriter) |
WriteLineAsync(Char) |
Asynchronně zapíše znak do řetězce následovaný ukončovacím znakem řádku. |
WriteLineAsync(Char) |
Asynchronně zapíše znak do textového streamu následovaný ukončovacím znakem řádku. (Zděděno od TextWriter) |
WriteLineAsync(Char[]) |
Asynchronně zapíše pole znaků do textového streamu následované ukončovacím znakem řádku. (Zděděno od TextWriter) |
WriteLineAsync(Char[], Int32, Int32) |
asynchronně zapíše do řetězce dílčí pole znaků následované ukončovacím znakem řádku. |
WriteLineAsync(Char[], Int32, Int32) |
Asynchronně zapíše dílčí pole znaků do textového streamu následované ukončovacím znakem řádku. (Zděděno od TextWriter) |
WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken) |
Asynchronně zapisuje řetězcovou reprezentaci oblasti paměti znaků do aktuálního řetězce následovaný ukončovacím znakem řádku. |
WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken) |
Asynchronně zapíše textovou reprezentaci oblasti znakové paměti do textového streamu následovaný ukončovacím znakem. (Zděděno od TextWriter) |
WriteLineAsync(String) |
Asynchronně zapíše řetězec do aktuálního řetězce následovaný ukončovacím znakem řádku. |
WriteLineAsync(String) |
Asynchronně zapíše řetězec do textového streamu následovaný ukončovacím znakem řádku. (Zděděno od TextWriter) |
WriteLineAsync(StringBuilder, CancellationToken) |
Asynchronně zapisuje řetězcovou reprezentaci tvůrce řetězců do aktuálního řetězce následovaného ukončovacím znakem řádku. |
WriteLineAsync(StringBuilder, CancellationToken) |
Asynchronně zapíše textovou reprezentaci tvůrce řetězců do textového streamu následovaný ukončovacím znakem řádku. (Zděděno od TextWriter) |
Explicitní implementace rozhraní
IDisposable.Dispose() |
Popis tohoto člena najdete v tématu Dispose(). (Zděděno od TextWriter) |
Metody rozšíření
ConfigureAwait(IAsyncDisposable, Boolean) |
Konfiguruje, jak se provádí funkce awaits u úloh vrácených z asynchronního jednorázového režimu. |
Platí pro
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro