StringWriter Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Implementuje element TextWriter do zapisywania informacji w ciągu. Informacje są przechowywane w bazowym StringBuilderobiekcie .
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
- Dziedziczenie
- Dziedziczenie
- Atrybuty
Przykłady
W poniższym przykładzie kodu pokazano tworzenie akapitu ciągłego z grupy zdań z podwójnym odstępem, a następnie konwersję akapitu z powrotem na oryginalny tekst.
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
Uwagi
StringWriter Umożliwia zapisywanie w ciągu synchronicznie lub asynchronicznie. Znak można napisać jednocześnie za Write(Char) pomocą metody lub WriteAsync(Char) , ciągu w czasie przy użyciu Write(String) metody lub WriteAsync(String) . Ponadto można napisać znak, tablicę znaków lub ciąg, po którym następuje asynchronicznie terminator wierszy przy użyciu jednej z WriteLineAsync metod.
Uwaga
Ten typ implementuje IDisposable interfejs, ale w rzeczywistości nie ma żadnych zasobów do usunięcia. Oznacza to, że usuwanie go przez bezpośrednie wywołanie Dispose() lub użycie konstrukcji językowej, takiej jak using
(w języku C#) lub Using
(w Visual Basic) nie jest konieczne.
W poniższej tabeli wymieniono przykłady innych typowych lub powiązanych zadań we/wy.
Aby wykonać tę czynność... | Zobacz przykład w tym temacie... |
---|---|
Twórca pliku tekstowego. | Instrukcje: Zapisywanie tekstu w pliku |
Zapisywanie w pliku tekstowym. | Instrukcje: Zapisywanie tekstu w pliku |
Odczyt z pliku tekstowego. | Instrukcje: Odczytywanie tekstu z pliku |
Dołączanie tekstu do pliku. | Instrukcje: Otwieranie pliku dziennika i dołączanie do niego File.AppendText FileInfo.AppendText |
Pobierz rozmiar pliku. | FileInfo.Length |
Pobierz atrybuty pliku. | File.GetAttributes |
Ustaw atrybuty pliku. | File.SetAttributes |
Ustal, czy plik istnieje. | File.Exists |
Odczyt z pliku binarnego. | Instrukcje: Odczyt i zapis we właśnie utworzonym pliku danych |
Zapisywanie w pliku binarnym. | Instrukcje: Odczyt i zapis we właśnie utworzonym pliku danych |
Konstruktory
StringWriter() |
Inicjuje nowe wystąpienie klasy StringWriter. |
StringWriter(IFormatProvider) |
Inicjuje StringWriter nowe wystąpienie klasy z określoną kontrolką formatu. |
StringWriter(StringBuilder) |
Inicjuje StringWriter nowe wystąpienie klasy, która zapisuje w określonym StringBuilderobiekcie . |
StringWriter(StringBuilder, IFormatProvider) |
Inicjuje StringWriter nowe wystąpienie klasy, która zapisuje w określonym StringBuilder obiekcie i ma określonego dostawcę formatu. |
Pola
CoreNewLine |
Przechowuje znaki nowego wiersza używane dla tego |
Właściwości
Encoding |
Pobiera dane Encoding wyjściowe, w których są zapisywane dane wyjściowe. |
FormatProvider |
Pobiera obiekt, który kontroluje formatowanie. (Odziedziczone po TextWriter) |
NewLine |
Pobiera lub ustawia ciąg terminatora wiersza używany przez bieżący |
Metody
Close() |
Zamyka bieżący StringWriter i bazowy strumień. |
Close() |
Zamyka bieżący moduł zapisywania i zwalnia wszystkie zasoby systemowe skojarzone z modułem zapisywania. (Odziedziczone po TextWriter) |
CreateObjRef(Type) |
Tworzy obiekt zawierający wszystkie istotne informacje wymagane do wygenerowania serwera proxy używanego do komunikowania się z obiektem zdalnym. (Odziedziczone po MarshalByRefObject) |
Dispose() |
Zwalnia wszystkie zasoby używane przez TextWriter obiekt . (Odziedziczone po TextWriter) |
Dispose(Boolean) |
Zwalnia zasoby niezarządzane używane przez element StringWriter i opcjonalnie zwalnia zasoby zarządzane. |
DisposeAsync() |
Asynchronicznie zwalnia wszystkie zasoby używane przez TextWriter obiekt . (Odziedziczone po TextWriter) |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
Flush() |
Czyści wszystkie bufory dla bieżącego składnika zapisywania i powoduje zapisanie wszystkich buforowanych danych na urządzeniu źródłowym. (Odziedziczone po TextWriter) |
FlushAsync() |
Asynchronicznie czyści wszystkie bufory dla bieżącego składnika zapisywania i powoduje zapisanie wszystkich buforowanych danych na urządzeniu bazowym. |
FlushAsync() |
Asynchronicznie czyści wszystkie bufory dla bieżącego składnika zapisywania i powoduje zapisanie wszystkich buforowanych danych na urządzeniu bazowym. (Odziedziczone po TextWriter) |
FlushAsync(CancellationToken) |
Asynchronicznie czyści wszystkie bufory dla bieżącego składnika zapisywania i powoduje zapisanie wszystkich buforowanych danych na urządzeniu bazowym. (Odziedziczone po TextWriter) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetLifetimeService() |
Przestarzałe.
Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia. (Odziedziczone po MarshalByRefObject) |
GetStringBuilder() |
Zwraca bazowy StringBuilderelement . |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
InitializeLifetimeService() |
Przestarzałe.
Uzyskuje obiekt usługi okresu istnienia w celu kontrolowania zasad okresu istnienia dla tego wystąpienia. (Odziedziczone po MarshalByRefObject) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
MemberwiseClone(Boolean) |
Tworzy płytkią kopię bieżącego MarshalByRefObject obiektu. (Odziedziczone po MarshalByRefObject) |
ToString() |
Zwraca ciąg zawierający znaki zapisane do bieżącej |
Write(Boolean) |
Zapisuje tekstową reprezentację |
Write(Char) |
Zapisuje znak w ciągu. |
Write(Char[]) |
Zapisuje tablicę znaków do strumienia tekstu. (Odziedziczone po TextWriter) |
Write(Char[], Int32, Int32) |
Zapisuje podtablicę znaków w ciągu. |
Write(Decimal) |
Zapisuje reprezentację tekstową wartości dziesiętnej w strumieniu tekstowym. (Odziedziczone po TextWriter) |
Write(Double) |
Zapisuje tekstową reprezentację 8-bajtowej wartości zmiennoprzecinkowej do strumienia tekstu. (Odziedziczone po TextWriter) |
Write(Int32) |
Zapisuje reprezentację tekstową 4-bajtowej liczby całkowitej ze znakiem do strumienia tekstu. (Odziedziczone po TextWriter) |
Write(Int64) |
Zapisuje reprezentację tekstową 8-bajtowej liczby całkowitej ze znakiem do strumienia tekstu. (Odziedziczone po TextWriter) |
Write(Object) |
Zapisuje reprezentację tekstową obiektu w strumieniu tekstowym przez wywołanie |
Write(ReadOnlySpan<Char>) |
Zapisuje reprezentację ciągu zakresu znaków w bieżącym ciągu. |
Write(ReadOnlySpan<Char>) |
Zapisuje zakres znaków do strumienia tekstu. (Odziedziczone po TextWriter) |
Write(Single) |
Zapisuje reprezentację tekstową wartości zmiennoprzecinkowej 4-bajtowej na strumień tekstowy. (Odziedziczone po TextWriter) |
Write(String) |
Zapisuje ciąg w bieżącym ciągu. |
Write(String, Object) |
Zapisuje sformatowany ciąg do strumienia tekstu przy użyciu tej samej semantyki co Format(String, Object) metoda. (Odziedziczone po TextWriter) |
Write(String, Object, Object) |
Zapisuje sformatowany ciąg do strumienia tekstowego przy użyciu tej samej semantyki co Format(String, Object, Object) metoda. (Odziedziczone po TextWriter) |
Write(String, Object, Object, Object) |
Zapisuje sformatowany ciąg do strumienia tekstu przy użyciu tej samej semantyki co Format(String, Object, Object, Object) metoda. (Odziedziczone po TextWriter) |
Write(String, Object[]) |
Zapisuje sformatowany ciąg do strumienia tekstu przy użyciu tej samej semantyki co Format(String, Object[]) metoda. (Odziedziczone po TextWriter) |
Write(StringBuilder) |
Zapisuje reprezentację ciągu konstruktora ciągów w bieżącym ciągu. |
Write(StringBuilder) |
Zapisuje konstruktora ciągów w strumieniu tekstowym. (Odziedziczone po TextWriter) |
Write(UInt32) |
Zapisuje reprezentację tekstową 4-bajtowej liczby całkowitej bez znaku do strumienia tekstu. (Odziedziczone po TextWriter) |
Write(UInt64) |
Zapisuje reprezentację tekstową 8-bajtowej liczby całkowitej bez znaku do strumienia tekstu. (Odziedziczone po TextWriter) |
WriteAsync(Char) |
Zapisuje znak w ciągu asynchronicznie. |
WriteAsync(Char) |
Zapisuje znak w strumieniu tekstowym asynchronicznie. (Odziedziczone po TextWriter) |
WriteAsync(Char[]) |
Zapisuje tablicę znaków w strumieniu tekstowym asynchronicznie. (Odziedziczone po TextWriter) |
WriteAsync(Char[], Int32, Int32) |
Zapisuje podsieć znaków w ciągu asynchronicznie. |
WriteAsync(Char[], Int32, Int32) |
Zapisuje podtablicę znaków w strumieniu tekstowym asynchronicznie. (Odziedziczone po TextWriter) |
WriteAsync(ReadOnlyMemory<Char>, CancellationToken) |
Asynchronicznie zapisuje obszar pamięci znaków w ciągu. |
WriteAsync(ReadOnlyMemory<Char>, CancellationToken) |
Asynchronicznie zapisuje obszar pamięci znaków w strumieniu tekstu. (Odziedziczone po TextWriter) |
WriteAsync(String) |
Zapisuje ciąg w bieżącym ciągu asynchronicznie. |
WriteAsync(String) |
Zapisuje ciąg w strumieniu tekstowym asynchronicznie. (Odziedziczone po TextWriter) |
WriteAsync(StringBuilder, CancellationToken) |
Asynchronicznie zapisuje tekstową reprezentację konstruktora ciągów w ciągu. |
WriteAsync(StringBuilder, CancellationToken) |
Asynchronicznie zapisuje konstruktora ciągów w strumieniu tekstowym. (Odziedziczone po TextWriter) |
WriteLine() |
Zapisuje terminator wiersza w strumieniu tekstowym. (Odziedziczone po TextWriter) |
WriteLine(Boolean) |
Zapisuje reprezentację tekstową |
WriteLine(Char) |
Zapisuje znak w strumieniu tekstowym, po którym następuje terminator wiersza. (Odziedziczone po TextWriter) |
WriteLine(Char[]) |
Zapisuje tablicę znaków w strumieniu tekstowym, po którym następuje terminator wiersza. (Odziedziczone po TextWriter) |
WriteLine(Char[], Int32, Int32) |
Zapisuje podtablicę znaków do strumienia tekstu, a następnie terminator wiersza. (Odziedziczone po TextWriter) |
WriteLine(Decimal) |
Zapisuje reprezentację tekstową wartości dziesiętnej w strumieniu tekstowym, a następnie terminator wiersza. (Odziedziczone po TextWriter) |
WriteLine(Double) |
Zapisuje reprezentację tekstową 8-bajtowej wartości zmiennoprzecinkowej do strumienia tekstowego, a następnie terminator linii. (Odziedziczone po TextWriter) |
WriteLine(Int32) |
Zapisuje reprezentację tekstową 4-bajtowej liczby całkowitej ze znakiem do strumienia tekstu, a następnie terminator wiersza. (Odziedziczone po TextWriter) |
WriteLine(Int64) |
Zapisuje reprezentację tekstową 8-bajtowej liczby całkowitej ze znakiem do strumienia tekstu, a następnie terminator wiersza. (Odziedziczone po TextWriter) |
WriteLine(Object) |
Zapisuje reprezentację tekstową obiektu w strumieniu tekstowym, wywołując |
WriteLine(ReadOnlySpan<Char>) |
Zapisuje reprezentację tekstu zakres znaków w ciągu, po którym następuje terminator wiersza. |
WriteLine(ReadOnlySpan<Char>) |
Zapisuje reprezentację tekstu zakresu znaków w strumieniu tekstowym, po którym następuje terminator wiersza. (Odziedziczone po TextWriter) |
WriteLine(Single) |
Zapisuje reprezentację tekstową 4-bajtowej wartości zmiennoprzecinkowej do strumienia tekstowego, a następnie terminator linii. (Odziedziczone po TextWriter) |
WriteLine(String) |
Zapisuje ciąg w strumieniu tekstowym, po którym następuje terminator wiersza. (Odziedziczone po TextWriter) |
WriteLine(String, Object) |
Zapisuje sformatowany ciąg i nowy wiersz do strumienia tekstu przy użyciu tej samej semantyki co Format(String, Object) metoda. (Odziedziczone po TextWriter) |
WriteLine(String, Object, Object) |
Zapisuje sformatowany ciąg i nowy wiersz do strumienia tekstu przy użyciu tej samej semantyki co Format(String, Object, Object) metoda. (Odziedziczone po TextWriter) |
WriteLine(String, Object, Object, Object) |
Zapisuje sformatowany ciąg i nowy wiersz do strumienia tekstu przy użyciu tej samej semantyki co Format(String, Object). (Odziedziczone po TextWriter) |
WriteLine(String, Object[]) |
Zapisuje sformatowany ciąg i nowy wiersz do strumienia tekstu przy użyciu tej samej semantyki co Format(String, Object). (Odziedziczone po TextWriter) |
WriteLine(StringBuilder) |
Zapisuje tekstową reprezentację konstruktora ciągów w ciągu, po którym następuje terminator wiersza. |
WriteLine(StringBuilder) |
Zapisuje tekstową reprezentację konstruktora ciągów w strumieniu tekstowym, po którym następuje terminator wiersza. (Odziedziczone po TextWriter) |
WriteLine(UInt32) |
Zapisuje reprezentację tekstową 4-bajtowej liczby całkowitej bez znaku do strumienia tekstu, a następnie terminator wiersza. (Odziedziczone po TextWriter) |
WriteLine(UInt64) |
Zapisuje reprezentację tekstową 8-bajtowej liczby całkowitej bez znaku do strumienia tekstu, a następnie terminator wiersza. (Odziedziczone po TextWriter) |
WriteLineAsync() |
Asynchronicznie zapisuje terminator linii w strumieniu tekstowym. (Odziedziczone po TextWriter) |
WriteLineAsync(Char) |
Asynchronicznie zapisuje znak w ciągu, po którym następuje terminator wiersza. |
WriteLineAsync(Char) |
Asynchronicznie zapisuje znak w strumieniu tekstowym, po którym następuje terminator wiersza. (Odziedziczone po TextWriter) |
WriteLineAsync(Char[]) |
Asynchronicznie zapisuje tablicę znaków w strumieniu tekstowym, a następnie terminator wiersza. (Odziedziczone po TextWriter) |
WriteLineAsync(Char[], Int32, Int32) |
asynchronicznie zapisuje podtablicę znaków w ciągu, a następnie terminator wiersza. |
WriteLineAsync(Char[], Int32, Int32) |
Asynchronicznie zapisuje podtablicę znaków w strumieniu tekstowym, a następnie terminator wiersza. (Odziedziczone po TextWriter) |
WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken) |
Asynchronicznie zapisuje ciąg reprezentujący obszar pamięci znaków w bieżącym ciągu, a następnie terminator wiersza. |
WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken) |
Asynchronicznie zapisuje tekstową reprezentację regionu pamięci znaków w strumieniu tekstu, a następnie terminator wiersza. (Odziedziczone po TextWriter) |
WriteLineAsync(String) |
Asynchronicznie zapisuje ciąg w bieżącym ciągu, po którym następuje terminator wiersza. |
WriteLineAsync(String) |
Asynchronicznie zapisuje ciąg w strumieniu tekstowym, po którym następuje terminator wiersza. (Odziedziczone po TextWriter) |
WriteLineAsync(StringBuilder, CancellationToken) |
Asynchronicznie zapisuje reprezentację ciągu konstruktora ciągów w bieżącym ciągu, a następnie terminator wiersza. |
WriteLineAsync(StringBuilder, CancellationToken) |
Asynchronicznie zapisuje tekstową reprezentację konstruktora ciągów w strumieniu tekstowym, a następnie terminator wiersza. (Odziedziczone po TextWriter) |
Jawne implementacje interfejsu
IDisposable.Dispose() |
Aby uzyskać opis tego członka, zobacz Dispose(). (Odziedziczone po TextWriter) |
Metody rozszerzania
ConfigureAwait(IAsyncDisposable, Boolean) |
Konfiguruje sposób oczekiwania na zadania zwracane z jednorazowego użytku asynchronicznego. |
Dotyczy
Zobacz też
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla