StringWriter 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
문자열에 정보를 쓰기 위한 TextWriter 구현합니다. 정보는 기본 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
- 상속
- 상속
- 특성
예제
다음 코드 예제에서는 이중 간격 문장 그룹에서 연속 단락을 만든 다음 단락을 원래 텍스트로 다시 변환하는 방법을 보여 줍니다.
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
설명
StringWriter 사용하면 문자열에 동기적으로 또는 비동기적으로 쓸 수 있습니다. Write(Char) 또는 WriteAsync(Char) 메서드, Write(String) 또는 WriteAsync(String) 메서드를 사용하여 한 번에 문자열을 사용하여 문자를 작성할 수 있습니다. 또한 문자, 문자 배열 또는 문자열을 작성한 다음 WriteLineAsync 메서드 중 하나를 사용하여 줄 종결자를 비동기적으로 작성할 수 있습니다.
메모
이 형식은 IDisposable 인터페이스를 구현하지만 실제로 삭제할 리소스가 없습니다. 즉, Dispose() 직접 호출하거나 using
(C#) 또는 Using
(Visual Basic에서)와 같은 언어 구문을 사용하여 삭제할 필요가 없습니다.
다음 표에서는 다른 일반적인 또는 관련 I/O 작업의 예를 나열합니다.
이 작업을 수행하려면... | 이 항목의 예제를 참조하세요. |
---|---|
텍스트 파일을 만듭니다. | 방법: 파일 텍스트 쓰기 |
텍스트 파일에 씁니다. | 방법: 파일 텍스트 쓰기 |
텍스트 파일에서 읽습니다. | 방법: 파일 텍스트 읽기 |
파일에 텍스트를 추가합니다. |
방법: 로그 파일 열기 및 추가 File.AppendText FileInfo.AppendText |
파일의 크기를 가져옵니다. | FileInfo.Length |
파일의 특성을 가져옵니다. | File.GetAttributes |
파일의 특성을 설정합니다. | File.SetAttributes |
파일이 있는지 확인합니다. | File.Exists |
이진 파일에서 읽습니다. | 방법: 새로 만든 데이터 파일 읽기 및 쓰기 |
이진 파일에 씁니다. | 방법: 새로 만든 데이터 파일 읽기 및 쓰기 |
생성자
StringWriter() |
StringWriter 클래스의 새 인스턴스를 초기화합니다. |
StringWriter(IFormatProvider) |
지정된 형식 컨트롤을 사용하여 StringWriter 클래스의 새 인스턴스를 초기화합니다. |
StringWriter(StringBuilder) |
지정된 StringBuilder쓰는 StringWriter 클래스의 새 인스턴스를 초기화합니다. |
StringWriter(StringBuilder, IFormatProvider) |
지정된 StringBuilder 쓰고 지정된 형식 공급자가 있는 StringWriter 클래스의 새 인스턴스를 초기화합니다. |
필드
CoreNewLine |
이 |
속성
Encoding |
출력이 기록되는 Encoding 가져옵니다. |
FormatProvider |
서식을 제어하는 개체를 가져옵니다. (다음에서 상속됨 TextWriter) |
NewLine |
현재 |
메서드
Close() |
현재 StringWriter 및 기본 스트림을 닫습니다. |
Close() |
현재 작성기를 닫고 기록기와 연결된 시스템 리소스를 해제합니다. (다음에서 상속됨 TextWriter) |
CreateObjRef(Type) |
원격 개체와 통신하는 데 사용되는 프록시를 생성하는 데 필요한 모든 관련 정보를 포함하는 개체를 만듭니다. (다음에서 상속됨 MarshalByRefObject) |
Dispose() |
TextWriter 개체에서 사용하는 모든 리소스를 해제합니다. (다음에서 상속됨 TextWriter) |
Dispose(Boolean) |
StringWriter 사용하는 관리되지 않는 리소스를 해제하고 필요에 따라 관리되는 리소스를 해제합니다. |
DisposeAsync() |
TextWriter 개체에서 사용하는 모든 리소스를 비동기적으로 해제합니다. (다음에서 상속됨 TextWriter) |
Equals(Object) |
지정된 개체가 현재 개체와 같은지 여부를 확인합니다. (다음에서 상속됨 Object) |
Flush() |
현재 기록기에 대한 모든 버퍼를 지우고 버퍼링된 데이터가 기본 디바이스에 기록되도록 합니다. (다음에서 상속됨 TextWriter) |
FlushAsync() |
현재 기록기에 대한 모든 버퍼를 비동기적으로 지우고 버퍼링된 데이터가 기본 디바이스에 기록되도록 합니다. |
FlushAsync() |
현재 기록기에 대한 모든 버퍼를 비동기적으로 지우고 버퍼링된 데이터가 기본 디바이스에 기록되도록 합니다. (다음에서 상속됨 TextWriter) |
FlushAsync(CancellationToken) |
현재 기록기에 대한 모든 버퍼를 비동기적으로 지우고 버퍼링된 데이터가 기본 디바이스에 기록되도록 합니다. (다음에서 상속됨 TextWriter) |
GetHashCode() |
기본 해시 함수로 사용됩니다. (다음에서 상속됨 Object) |
GetLifetimeService() |
사용되지 않음.
이 인스턴스의 수명 정책을 제어하는 현재 수명 서비스 개체를 검색합니다. (다음에서 상속됨 MarshalByRefObject) |
GetStringBuilder() |
기본 StringBuilder반환합니다. |
GetType() |
현재 인스턴스의 Type 가져옵니다. (다음에서 상속됨 Object) |
InitializeLifetimeService() |
사용되지 않음.
이 인스턴스의 수명 정책을 제어하는 수명 서비스 개체를 가져옵니다. (다음에서 상속됨 MarshalByRefObject) |
MemberwiseClone() |
현재 Object단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
MemberwiseClone(Boolean) |
현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다. (다음에서 상속됨 MarshalByRefObject) |
ToString() |
지금까지 현재 |
Write(Boolean) |
|
Write(Char) |
문자열에 문자를 씁니다. |
Write(Char[]) |
텍스트 스트림에 문자 배열을 씁니다. (다음에서 상속됨 TextWriter) |
Write(Char[], Int32, Int32) |
문자열에 문자의 하위 배열을 씁니다. |
Write(Decimal) |
10진수 값의 텍스트 표현을 텍스트 스트림에 씁니다. (다음에서 상속됨 TextWriter) |
Write(Double) |
8 바이트 부동 소수점 값의 텍스트 표현을 텍스트 스트림에 씁니다. (다음에서 상속됨 TextWriter) |
Write(Int32) |
텍스트 스트림에 부가된 4 바이트 정수의 텍스트 표현을 씁니다. (다음에서 상속됨 TextWriter) |
Write(Int64) |
텍스트 스트림에 부가된 8 바이트 정수의 텍스트 표현을 씁니다. (다음에서 상속됨 TextWriter) |
Write(Object) |
해당 개체에서 |
Write(ReadOnlySpan<Char>) |
현재 문자열에 문자 범위의 문자열 표현을 씁니다. |
Write(ReadOnlySpan<Char>) |
텍스트 스트림에 문자 범위를 씁니다. (다음에서 상속됨 TextWriter) |
Write(Single) |
4 바이트 부동 소수점 값의 텍스트 표현을 텍스트 스트림에 씁니다. (다음에서 상속됨 TextWriter) |
Write(String) |
현재 문자열에 문자열을 씁니다. |
Write(String, Object) |
Format(String, Object) 메서드와 동일한 의미 체계를 사용하여 서식이 지정된 문자열을 텍스트 스트림에 씁니다. (다음에서 상속됨 TextWriter) |
Write(String, Object, Object) |
Format(String, Object, Object) 메서드와 동일한 의미 체계를 사용하여 서식이 지정된 문자열을 텍스트 스트림에 씁니다. (다음에서 상속됨 TextWriter) |
Write(String, Object, Object, Object) |
Format(String, Object, Object, Object) 메서드와 동일한 의미 체계를 사용하여 서식이 지정된 문자열을 텍스트 스트림에 씁니다. (다음에서 상속됨 TextWriter) |
Write(String, Object[]) |
Format(String, Object[]) 메서드와 동일한 의미 체계를 사용하여 서식이 지정된 문자열을 텍스트 스트림에 씁니다. (다음에서 상속됨 TextWriter) |
Write(String, ReadOnlySpan<Object>) |
Format(String, ReadOnlySpan<Object>)동일한 의미 체계를 사용하여 서식이 지정된 문자열을 텍스트 스트림에 씁니다. (다음에서 상속됨 TextWriter) |
Write(StringBuilder) |
문자열 작성기의 문자열 표현을 현재 문자열에 씁니다. |
Write(StringBuilder) |
문자열 작성기를 텍스트 스트림에 씁니다. (다음에서 상속됨 TextWriter) |
Write(UInt32) |
4 바이트 부호 없는 정수의 텍스트 표현을 텍스트 스트림에 씁니다. (다음에서 상속됨 TextWriter) |
Write(UInt64) |
8 바이트 부호 없는 정수의 텍스트 표현을 텍스트 스트림에 씁니다. (다음에서 상속됨 TextWriter) |
WriteAsync(Char) |
문자열에 문자를 비동기적으로 씁니다. |
WriteAsync(Char) |
문자를 텍스트 스트림에 비동기적으로 씁니다. (다음에서 상속됨 TextWriter) |
WriteAsync(Char[]) |
문자 배열을 텍스트 스트림에 비동기적으로 씁니다. (다음에서 상속됨 TextWriter) |
WriteAsync(Char[], Int32, Int32) |
문자열에 문자의 하위 배열을 비동기적으로 씁니다. |
WriteAsync(Char[], Int32, Int32) |
문자의 하위 배열을 텍스트 스트림에 비동기적으로 씁니다. (다음에서 상속됨 TextWriter) |
WriteAsync(ReadOnlyMemory<Char>, CancellationToken) |
문자열에 문자의 메모리 영역을 비동기적으로 씁니다. |
WriteAsync(ReadOnlyMemory<Char>, CancellationToken) |
문자 메모리 영역을 텍스트 스트림에 비동기적으로 씁니다. (다음에서 상속됨 TextWriter) |
WriteAsync(String) |
문자열을 현재 문자열에 비동기적으로 씁니다. |
WriteAsync(String) |
문자열을 텍스트 스트림에 비동기적으로 씁니다. (다음에서 상속됨 TextWriter) |
WriteAsync(StringBuilder, CancellationToken) |
문자열 작성기의 텍스트 표현을 문자열에 비동기적으로 씁니다. |
WriteAsync(StringBuilder, CancellationToken) |
문자열 작성기를 텍스트 스트림에 비동기적으로 씁니다. (다음에서 상속됨 TextWriter) |
WriteLine() |
텍스트 스트림에 줄 종결자를 씁니다. (다음에서 상속됨 TextWriter) |
WriteLine(Boolean) |
|
WriteLine(Char) |
텍스트 스트림에 문자를 쓴 다음 줄 종결자를 씁니다. (다음에서 상속됨 TextWriter) |
WriteLine(Char[]) |
문자 배열을 텍스트 스트림에 쓴 다음 줄 종결자를 씁니다. (다음에서 상속됨 TextWriter) |
WriteLine(Char[], Int32, Int32) |
문자의 하위 배열을 텍스트 스트림에 쓴 다음 줄 종결자를 씁니다. (다음에서 상속됨 TextWriter) |
WriteLine(Decimal) |
10진수 값의 텍스트 표현을 텍스트 스트림에 쓴 다음 줄 종결자를 씁니다. (다음에서 상속됨 TextWriter) |
WriteLine(Double) |
8 바이트 부동 소수점 값의 텍스트 표현을 텍스트 스트림에 쓴 다음 줄 종결자를 씁니다. (다음에서 상속됨 TextWriter) |
WriteLine(Int32) |
텍스트 스트림에 부호 있는 4 바이트 정수의 텍스트 표현과 줄 종결자를 씁니다. (다음에서 상속됨 TextWriter) |
WriteLine(Int64) |
텍스트 스트림에 부호 있는 8 바이트 정수의 텍스트 표현과 줄 종결자를 씁니다. (다음에서 상속됨 TextWriter) |
WriteLine(Object) |
해당 개체에서 |
WriteLine(ReadOnlySpan<Char>) |
텍스트 표현을 문자열에 문자 범위와 줄 종결자를 씁니다. |
WriteLine(ReadOnlySpan<Char>) |
문자 범위의 텍스트 표현을 텍스트 스트림에 쓴 다음 줄 종결자를 씁니다. (다음에서 상속됨 TextWriter) |
WriteLine(Single) |
4 바이트 부동 소수점 값의 텍스트 표현을 텍스트 스트림에 쓴 다음 줄 종결자를 씁니다. (다음에서 상속됨 TextWriter) |
WriteLine(String) |
문자열을 텍스트 스트림에 쓴 다음 줄 종결자를 씁니다. (다음에서 상속됨 TextWriter) |
WriteLine(String, Object) |
Format(String, Object) 메서드와 동일한 의미 체계를 사용하여 서식이 지정된 문자열과 새 줄을 텍스트 스트림에 씁니다. (다음에서 상속됨 TextWriter) |
WriteLine(String, Object, Object) |
Format(String, Object, Object) 메서드와 동일한 의미 체계를 사용하여 서식이 지정된 문자열과 새 줄을 텍스트 스트림에 씁니다. (다음에서 상속됨 TextWriter) |
WriteLine(String, Object, Object, Object) |
Format(String, Object)동일한 의미 체계를 사용하여 서식이 지정된 문자열과 새 줄을 텍스트 스트림에 씁니다. (다음에서 상속됨 TextWriter) |
WriteLine(String, Object[]) |
Format(String, Object)동일한 의미 체계를 사용하여 서식이 지정된 문자열과 새 줄을 텍스트 스트림에 씁니다. (다음에서 상속됨 TextWriter) |
WriteLine(String, ReadOnlySpan<Object>) |
Format(String, ReadOnlySpan<Object>)동일한 의미 체계를 사용하여 서식이 지정된 문자열과 새 줄을 텍스트 스트림에 씁니다. (다음에서 상속됨 TextWriter) |
WriteLine(StringBuilder) |
문자열 작성기의 텍스트 표현을 문자열에 쓴 다음 줄 종결자를 씁니다. |
WriteLine(StringBuilder) |
문자열 작성기의 텍스트 표현을 텍스트 스트림에 쓴 다음 줄 종결자를 씁니다. (다음에서 상속됨 TextWriter) |
WriteLine(UInt32) |
4 바이트 부호 없는 정수의 텍스트 표현을 텍스트 스트림에 쓴 다음 줄 종결자를 씁니다. (다음에서 상속됨 TextWriter) |
WriteLine(UInt64) |
8 바이트 부호 없는 정수의 텍스트 표현을 텍스트 스트림에 쓴 다음 줄 종결자를 씁니다. (다음에서 상속됨 TextWriter) |
WriteLineAsync() |
텍스트 스트림에 줄 종결자를 비동기적으로 씁니다. (다음에서 상속됨 TextWriter) |
WriteLineAsync(Char) |
문자열에 문자를 비동기적으로 쓴 다음 줄 종결자를 씁니다. |
WriteLineAsync(Char) |
텍스트 스트림에 문자를 비동기적으로 쓴 다음 줄 종결자를 씁니다. (다음에서 상속됨 TextWriter) |
WriteLineAsync(Char[]) |
문자 배열을 텍스트 스트림에 비동기적으로 쓴 다음 줄 종결자를 씁니다. (다음에서 상속됨 TextWriter) |
WriteLineAsync(Char[], Int32, Int32) |
문자열에 문자 하위 배열을 비동기적으로 쓴 다음 줄 종결자를 씁니다. |
WriteLineAsync(Char[], Int32, Int32) |
문자의 하위 배열을 텍스트 스트림에 비동기적으로 쓴 다음 줄 종결자를 씁니다. (다음에서 상속됨 TextWriter) |
WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken) |
문자의 메모리 영역에 대한 문자열 표현을 현재 문자열에 비동기적으로 쓴 다음 줄 종결자를 씁니다. |
WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken) |
문자 메모리 영역의 텍스트 표현을 텍스트 스트림에 비동기적으로 쓴 다음 줄 종결자를 씁니다. (다음에서 상속됨 TextWriter) |
WriteLineAsync(String) |
문자열을 현재 문자열에 비동기적으로 쓴 다음 줄 종결자를 씁니다. |
WriteLineAsync(String) |
문자열을 텍스트 스트림에 비동기적으로 쓴 다음 줄 종결자를 씁니다. (다음에서 상속됨 TextWriter) |
WriteLineAsync(StringBuilder, CancellationToken) |
문자열 작성기의 문자열 표현을 현재 문자열에 비동기적으로 쓴 다음 줄 종결자를 씁니다. |
WriteLineAsync(StringBuilder, CancellationToken) |
문자열 작성기의 텍스트 표현을 텍스트 스트림에 비동기적으로 쓴 다음 줄 종결자를 씁니다. (다음에서 상속됨 TextWriter) |
명시적 인터페이스 구현
IDisposable.Dispose() |
이 멤버에 대한 설명은 Dispose()참조하세요. (다음에서 상속됨 TextWriter) |
확장 메서드
ConfigureAwait(IAsyncDisposable, Boolean) |
비동기 삭제 가능 파일에서 반환된 작업에 대한 대기가 수행되는 방법을 구성합니다. |
적용 대상
추가 정보
- StringBuilder
- StringReader
- 파일 및 스트림 I/O
- 방법: 파일 텍스트 읽기
- 방법: 파일 텍스트 쓰기
.NET