다음을 통해 공유


StreamWriter 클래스

정의

특정 인코딩에서 스트림에 문자를 쓰기 위한 TextWriter 구현합니다.

public ref class StreamWriter : System::IO::TextWriter
public class StreamWriter : System.IO.TextWriter
[System.Serializable]
public class StreamWriter : System.IO.TextWriter
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class StreamWriter : System.IO.TextWriter
type StreamWriter = class
    inherit TextWriter
[<System.Serializable>]
type StreamWriter = class
    inherit TextWriter
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type StreamWriter = class
    inherit TextWriter
Public Class StreamWriter
Inherits TextWriter
상속
StreamWriter
상속
특성

예제

다음 예제에서는 StreamWriter 개체를 사용하여 C 드라이브의 디렉터리를 나열하는 파일을 작성한 다음 StreamReader 개체를 사용하여 각 디렉터리 이름을 읽고 표시하는 방법을 보여줍니다. 관리되지 않는 리소스가 올바르게 삭제되도록 using 문에서 이러한 개체를 사용하는 것이 좋습니다. using 문은 개체를 사용하는 코드가 완료되면 개체에 대한 Dispose 자동으로 호출합니다. 이 예제에 사용된 생성자는 Windows 스토어 앱에서 사용할 수 없습니다.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace StreamReadWrite
{
    class Program
    {
        static void Main(string[] args)
        {
            // Get the directories currently on the C drive.
            DirectoryInfo[] cDirs = new DirectoryInfo(@"c:\").GetDirectories();

            // Write each directory name to a file.
            using (StreamWriter sw = new StreamWriter("CDriveDirs.txt"))
            {
                foreach (DirectoryInfo dir in cDirs)
                {
                    sw.WriteLine(dir.Name);
                }
            }

            // Read and show each line from the file.
            string line = "";
            using (StreamReader sr = new StreamReader("CDriveDirs.txt"))
            {
                while ((line = sr.ReadLine()) != null)
                {
                    Console.WriteLine(line);
                }
            }
        }
    }
}
Imports System.IO
Class Program

    Shared Sub Main()

        ' Get the directories currently on the C drive.
        Dim cDirs As DirectoryInfo() = New DirectoryInfo("c:\").GetDirectories()

        ' Write each directory name to a file.
        Using sw As StreamWriter = New StreamWriter("CDriveDirs.txt")
            For Each Dir As DirectoryInfo In cDirs
                sw.WriteLine(Dir.Name)
            Next
        End Using

        'Read and show each line from the file.
        Dim line As String = ""
        Using sr As StreamReader = New StreamReader("CDriveDirs.txt")
            Do
                line = sr.ReadLine()
                Console.WriteLine(line)
            Loop Until line Is Nothing
        End Using


    End Sub

End Class

설명

StreamWriter 특정 인코딩의 문자 출력을 위해 설계된 반면, Stream 파생된 클래스는 바이트 입력 및 출력용으로 설계되었습니다.

중요하다

이 형식은 IDisposable 인터페이스를 구현합니다. 형식 사용을 마쳤으면 직접 또는 간접적으로 삭제해야 합니다. 형식을 직접 삭제하려면 try/catch 블록에서 해당 Dispose 메서드를 호출합니다. 간접적으로 삭제하려면 using(C#) 또는 Using(Visual Basic)와 같은 언어 구문을 사용합니다. 자세한 내용은 IDisposable 인터페이스 항목의 "IDisposable을 구현하는 개체 사용" 섹션을 참조하세요.

StreamWriter 달리 지정하지 않는 한 기본적으로 UTF8Encoding 인스턴스를 사용합니다. 이 UTF8Encoding 인스턴스는 BOM(바이트 순서 표시)없이 생성되므로 GetPreamble 메서드는 빈 바이트 배열을 반환합니다. 이 생성자에 대한 기본 UTF-8 인코딩은 잘못된 바이트에 대한 예외를 throw합니다. 이 동작은 Encoding.UTF8 속성의 인코딩 개체에서 제공하는 동작과 다릅니다. BOM을 지정하고 잘못된 바이트에서 예외가 throw되는지 여부를 확인하려면 인코딩 개체를 매개 변수(예: StreamWriter(String, Boolean, Encoding) 또는 StreamWriter)로 허용하는 생성자를 사용합니다.

기본적으로 StreamWriter 스레드로부터 안전하지 않습니다. 스레드로부터 안전한 래퍼는 TextWriter.Synchronized 참조하세요.

일반적인 I/O 작업 목록은 일반적인 I/O 작업참조하세요.

생성자

StreamWriter(Stream)

UTF-8 인코딩 및 기본 버퍼 크기를 사용하여 지정된 스트림에 대한 StreamWriter 클래스의 새 인스턴스를 초기화합니다.

StreamWriter(Stream, Encoding)

지정된 인코딩 및 기본 버퍼 크기를 사용하여 지정된 스트림에 대한 StreamWriter 클래스의 새 인스턴스를 초기화합니다.

StreamWriter(Stream, Encoding, Int32)

지정된 인코딩 및 버퍼 크기를 사용하여 지정된 스트림에 대한 StreamWriter 클래스의 새 인스턴스를 초기화합니다.

StreamWriter(Stream, Encoding, Int32, Boolean)

지정된 인코딩 및 버퍼 크기를 사용하여 지정된 스트림에 대한 StreamWriter 클래스의 새 인스턴스를 초기화하고 필요에 따라 스트림을 열어 둡니다.

StreamWriter(String)

기본 인코딩 및 버퍼 크기를 사용하여 지정된 파일에 대한 StreamWriter 클래스의 새 인스턴스를 초기화합니다.

StreamWriter(String, Boolean)

기본 인코딩 및 버퍼 크기를 사용하여 지정된 파일에 대한 StreamWriter 클래스의 새 인스턴스를 초기화합니다. 파일이 있는 경우 덮어쓰거나 추가할 수 있습니다. 파일이 없으면 이 생성자는 새 파일을 만듭니다.

StreamWriter(String, Boolean, Encoding)

지정된 인코딩 및 기본 버퍼 크기를 사용하여 지정된 파일에 대한 StreamWriter 클래스의 새 인스턴스를 초기화합니다. 파일이 있는 경우 덮어쓰거나 추가할 수 있습니다. 파일이 없으면 이 생성자는 새 파일을 만듭니다.

StreamWriter(String, Boolean, Encoding, Int32)

지정된 인코딩 및 버퍼 크기를 사용하여 지정된 경로에서 지정된 파일에 대한 StreamWriter 클래스의 새 인스턴스를 초기화합니다. 파일이 있는 경우 덮어쓰거나 추가할 수 있습니다. 파일이 없으면 이 생성자는 새 파일을 만듭니다.

StreamWriter(String, Encoding, FileStreamOptions)

지정된 인코딩을 사용하여 지정된 StreamWriter 클래스의 새 인스턴스를 초기화하고 지정된 FileStreamOptions 개체로 구성합니다.

StreamWriter(String, FileStreamOptions)

기본 인코딩을 사용하여 지정된 파일에 대한 StreamWriter 클래스의 새 인스턴스를 초기화하고 지정된 FileStreamOptions 개체로 구성합니다.

필드

CoreNewLine

TextWriter사용되는 줄 바꿈 문자를 저장합니다.

(다음에서 상속됨 TextWriter)
Null

기록할 수 있지만 읽을 수 없는 백업 저장소가 없는 StreamWriter 제공합니다.

속성

AutoFlush

Write(Char)호출할 때마다 StreamWriter 해당 버퍼를 기본 스트림으로 플러시할지 여부를 나타내는 값을 가져오거나 설정합니다.

BaseStream

백업 저장소와 인터페이스하는 기본 스트림을 가져옵니다.

Encoding

출력이 기록되는 Encoding 가져옵니다.

FormatProvider

서식을 제어하는 개체를 가져옵니다.

(다음에서 상속됨 TextWriter)
NewLine

현재 TextWriter사용되는 줄 종결자 문자열을 가져오거나 설정합니다.

(다음에서 상속됨 TextWriter)

메서드

Close()

현재 StreamWriter 개체와 기본 스트림을 닫습니다.

Close()

현재 작성기를 닫고 기록기와 연결된 시스템 리소스를 해제합니다.

(다음에서 상속됨 TextWriter)
CreateObjRef(Type)

원격 개체와 통신하는 데 사용되는 프록시를 생성하는 데 필요한 모든 관련 정보를 포함하는 개체를 만듭니다.

(다음에서 상속됨 MarshalByRefObject)
Dispose()

TextWriter 개체에서 사용하는 모든 리소스를 해제합니다.

(다음에서 상속됨 TextWriter)
Dispose(Boolean)

버퍼링된 데이터가 기본 스트림에 기록되도록 하고, StreamWriter사용하는 관리되지 않는 리소스를 해제하고, 필요에 따라 관리되는 리소스를 해제합니다.

DisposeAsync()

버퍼링된 데이터를 기본 스트림에 비동기적으로 쓰고 StreamWriter사용되는 관리되지 않는 리소스를 해제합니다.

DisposeAsync()

TextWriter 개체에서 사용하는 모든 리소스를 비동기적으로 해제합니다.

(다음에서 상속됨 TextWriter)
Equals(Object)

지정된 개체가 현재 개체와 같은지 여부를 확인합니다.

(다음에서 상속됨 Object)
Finalize()

가비지 수집기에서 회수하기 전에 현재 StreamWriter 리소스를 해제합니다.

Flush()

현재 기록기에 대한 모든 버퍼를 지우고 버퍼링된 데이터가 기본 스트림에 기록되도록 합니다.

FlushAsync()

이 스트림에 대한 모든 버퍼를 비동기적으로 지우고 버퍼링된 데이터가 기본 디바이스에 기록되도록 합니다.

FlushAsync()

현재 기록기에 대한 모든 버퍼를 비동기적으로 지우고 버퍼링된 데이터가 기본 디바이스에 기록되도록 합니다.

(다음에서 상속됨 TextWriter)
FlushAsync(CancellationToken)

이 스트림에 대한 모든 버퍼를 비동기적으로 지우고 버퍼링된 데이터가 기본 디바이스에 기록되도록 합니다.

FlushAsync(CancellationToken)

현재 기록기에 대한 모든 버퍼를 비동기적으로 지우고 버퍼링된 데이터가 기본 디바이스에 기록되도록 합니다.

(다음에서 상속됨 TextWriter)
GetHashCode()

기본 해시 함수로 사용됩니다.

(다음에서 상속됨 Object)
GetLifetimeService()
사용되지 않음.

이 인스턴스의 수명 정책을 제어하는 현재 수명 서비스 개체를 검색합니다.

(다음에서 상속됨 MarshalByRefObject)
GetType()

현재 인스턴스의 Type 가져옵니다.

(다음에서 상속됨 Object)
InitializeLifetimeService()
사용되지 않음.

이 인스턴스의 수명 정책을 제어하는 수명 서비스 개체를 가져옵니다.

(다음에서 상속됨 MarshalByRefObject)
MemberwiseClone()

현재 Object단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
MemberwiseClone(Boolean)

현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다.

(다음에서 상속됨 MarshalByRefObject)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)
Write(Boolean)

Boolean 값의 텍스트 표현을 텍스트 스트림에 씁니다.

(다음에서 상속됨 TextWriter)
Write(Char)

스트림에 문자를 씁니다.

Write(Char[])

스트림에 문자 배열을 씁니다.

Write(Char[], Int32, Int32)

스트림에 문자의 하위 배열을 씁니다.

Write(Decimal)

10진수 값의 텍스트 표현을 텍스트 스트림에 씁니다.

(다음에서 상속됨 TextWriter)
Write(Double)

8 바이트 부동 소수점 값의 텍스트 표현을 텍스트 스트림에 씁니다.

(다음에서 상속됨 TextWriter)
Write(Int32)

텍스트 스트림에 부가된 4 바이트 정수의 텍스트 표현을 씁니다.

(다음에서 상속됨 TextWriter)
Write(Int64)

텍스트 스트림에 부가된 8 바이트 정수의 텍스트 표현을 씁니다.

(다음에서 상속됨 TextWriter)
Write(Object)

해당 개체에서 ToString 메서드를 호출하여 텍스트 스트림에 개체의 텍스트 표현을 씁니다.

(다음에서 상속됨 TextWriter)
Write(ReadOnlySpan<Char>)

스트림에 문자 범위를 씁니다.

Write(ReadOnlySpan<Char>)

텍스트 스트림에 문자 범위를 씁니다.

(다음에서 상속됨 TextWriter)
Write(Single)

4 바이트 부동 소수점 값의 텍스트 표현을 텍스트 스트림에 씁니다.

(다음에서 상속됨 TextWriter)
Write(String)

스트림에 문자열을 씁니다.

Write(String, Object)

Format(String, Object) 메서드와 동일한 의미 체계를 사용하여 형식이 지정된 문자열을 스트림에 씁니다.

Write(String, Object)

Format(String, Object) 메서드와 동일한 의미 체계를 사용하여 서식이 지정된 문자열을 텍스트 스트림에 씁니다.

(다음에서 상속됨 TextWriter)
Write(String, Object, Object)

Format(String, Object, Object) 메서드와 동일한 의미 체계를 사용하여 형식이 지정된 문자열을 스트림에 씁니다.

Write(String, Object, Object)

Format(String, Object, Object) 메서드와 동일한 의미 체계를 사용하여 서식이 지정된 문자열을 텍스트 스트림에 씁니다.

(다음에서 상속됨 TextWriter)
Write(String, Object, Object, Object)

Format(String, Object, Object, Object) 메서드와 동일한 의미 체계를 사용하여 형식이 지정된 문자열을 스트림에 씁니다.

Write(String, Object, Object, Object)

Format(String, Object, Object, Object) 메서드와 동일한 의미 체계를 사용하여 서식이 지정된 문자열을 텍스트 스트림에 씁니다.

(다음에서 상속됨 TextWriter)
Write(String, Object[])

Format(String, Object[]) 메서드와 동일한 의미 체계를 사용하여 형식이 지정된 문자열을 스트림에 씁니다.

Write(String, Object[])

Format(String, Object[]) 메서드와 동일한 의미 체계를 사용하여 서식이 지정된 문자열을 텍스트 스트림에 씁니다.

(다음에서 상속됨 TextWriter)
Write(String, ReadOnlySpan<Object>)

Format(String, ReadOnlySpan<Object>)동일한 의미 체계를 사용하여 형식이 지정된 문자열을 스트림에 씁니다.

Write(String, ReadOnlySpan<Object>)

Format(String, ReadOnlySpan<Object>)동일한 의미 체계를 사용하여 서식이 지정된 문자열을 텍스트 스트림에 씁니다.

(다음에서 상속됨 TextWriter)
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)

문자열 작성기를 텍스트 스트림에 비동기적으로 씁니다.

(다음에서 상속됨 TextWriter)
WriteLine()

텍스트 스트림에 줄 종결자를 씁니다.

(다음에서 상속됨 TextWriter)
WriteLine(Boolean)

Boolean 값의 텍스트 표현을 텍스트 스트림에 쓴 다음 줄 종결자를 씁니다.

(다음에서 상속됨 TextWriter)
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)

해당 개체에서 ToString 메서드를 호출한 다음 줄 종결자를 호출하여 개체의 텍스트 표현을 텍스트 스트림에 씁니다.

(다음에서 상속됨 TextWriter)
WriteLine(ReadOnlySpan<Char>)

문자 범위의 텍스트 표현을 스트림에 쓴 다음 줄 종결자를 씁니다.

WriteLine(ReadOnlySpan<Char>)

문자 범위의 텍스트 표현을 텍스트 스트림에 쓴 다음 줄 종결자를 씁니다.

(다음에서 상속됨 TextWriter)
WriteLine(Single)

4 바이트 부동 소수점 값의 텍스트 표현을 텍스트 스트림에 쓴 다음 줄 종결자를 씁니다.

(다음에서 상속됨 TextWriter)
WriteLine(String)

문자열을 스트림에 쓴 다음 줄 종결자를 씁니다.

WriteLine(String)

문자열을 텍스트 스트림에 쓴 다음 줄 종결자를 씁니다.

(다음에서 상속됨 TextWriter)
WriteLine(String, Object)

Format(String, Object) 메서드와 동일한 의미 체계를 사용하여 형식이 지정된 문자열과 새 줄을 스트림에 씁니다.

WriteLine(String, Object)

Format(String, Object) 메서드와 동일한 의미 체계를 사용하여 서식이 지정된 문자열과 새 줄을 텍스트 스트림에 씁니다.

(다음에서 상속됨 TextWriter)
WriteLine(String, Object, Object)

Format(String, Object, Object) 메서드와 동일한 의미 체계를 사용하여 형식이 지정된 문자열과 새 줄을 스트림에 씁니다.

WriteLine(String, Object, Object)

Format(String, Object, Object) 메서드와 동일한 의미 체계를 사용하여 서식이 지정된 문자열과 새 줄을 텍스트 스트림에 씁니다.

(다음에서 상속됨 TextWriter)
WriteLine(String, Object, Object, Object)

Format(String, Object)동일한 의미 체계를 사용하여 서식이 지정된 문자열과 새 줄을 스트림에 씁니다.

WriteLine(String, Object, Object, Object)

Format(String, Object)동일한 의미 체계를 사용하여 서식이 지정된 문자열과 새 줄을 텍스트 스트림에 씁니다.

(다음에서 상속됨 TextWriter)
WriteLine(String, Object[])

Format(String, Object)동일한 의미 체계를 사용하여 서식이 지정된 문자열과 새 줄을 스트림에 씁니다.

WriteLine(String, Object[])

Format(String, Object)동일한 의미 체계를 사용하여 서식이 지정된 문자열과 새 줄을 텍스트 스트림에 씁니다.

(다음에서 상속됨 TextWriter)
WriteLine(String, ReadOnlySpan<Object>)

Format(String, ReadOnlySpan<Object>)동일한 의미 체계를 사용하여 서식이 지정된 문자열과 새 줄을 스트림에 씁니다.

WriteLine(String, ReadOnlySpan<Object>)

Format(String, ReadOnlySpan<Object>)동일한 의미 체계를 사용하여 서식이 지정된 문자열과 새 줄을 텍스트 스트림에 씁니다.

(다음에서 상속됨 TextWriter)
WriteLine(StringBuilder)

문자열 작성기의 텍스트 표현을 텍스트 스트림에 쓴 다음 줄 종결자를 씁니다.

(다음에서 상속됨 TextWriter)
WriteLine(UInt32)

4 바이트 부호 없는 정수의 텍스트 표현을 텍스트 스트림에 쓴 다음 줄 종결자를 씁니다.

(다음에서 상속됨 TextWriter)
WriteLine(UInt64)

8 바이트 부호 없는 정수의 텍스트 표현을 텍스트 스트림에 쓴 다음 줄 종결자를 씁니다.

(다음에서 상속됨 TextWriter)
WriteLineAsync()

스트림에 줄 종결자를 비동기적으로 씁니다.

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)

문자열 작성기의 텍스트 표현을 텍스트 스트림에 비동기적으로 쓴 다음 줄 종결자를 씁니다.

(다음에서 상속됨 TextWriter)

명시적 인터페이스 구현

IDisposable.Dispose()

이 멤버에 대한 설명은 Dispose()참조하세요.

(다음에서 상속됨 TextWriter)

확장 메서드

ConfigureAwait(IAsyncDisposable, Boolean)

비동기 삭제 가능 파일에서 반환된 작업에 대한 대기가 수행되는 방법을 구성합니다.

적용 대상

추가 정보