StringWriter Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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
- 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 |
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 |
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 |
| Write(Boolean) |
Skriver textrepresentationen av ett |
| 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 |
| 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 |
| 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 |
| 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. |