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

StreamWriter은 달리 지정하지 않는 한 의 UTF8Encoding instance 사용하도록 기본값을 지정합니다. 이 instance 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)

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

StreamWriter(String, FileStreamOptions)

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

필드

CoreNewLine

TextWriter에 사용한 줄 바꿈 문자를 저장합니다.

(다음에서 상속됨 TextWriter)
Null

쓸 수는 있지만 읽을 수는 없는 백업 저장소를 StreamWriter에 제공하지 않습니다.

속성

AutoFlush

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

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()

현재 writer의 모든 버퍼를 지우면 버퍼링된 모든 데이터가 내부 스트림에 쓰여집니다.

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(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(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)

비동기 일회용에서 반환되는 작업을 대기하는 방법을 구성합니다.

적용 대상

추가 정보