StreamWriter 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
특정 인코딩에서 스트림에 문자를 쓰기 위한 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 개체를 사용하여 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 |
이 |
Null |
기록할 수 있지만 읽을 수 없는 백업 저장소가 없는 |
속성
AutoFlush |
Write(Char)호출할 때마다 StreamWriter 해당 버퍼를 기본 스트림으로 플러시할지 여부를 나타내는 값을 가져오거나 설정합니다. |
BaseStream |
백업 저장소와 인터페이스하는 기본 스트림을 가져옵니다. |
Encoding |
출력이 기록되는 Encoding 가져옵니다. |
FormatProvider |
서식을 제어하는 개체를 가져옵니다. (다음에서 상속됨 TextWriter) |
NewLine |
현재 |
메서드
Close() |
현재 |
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) |
|
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) |
해당 개체에서 |
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) |
|
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) |
문자열을 스트림에 쓴 다음 줄 종결자를 씁니다. |
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) |
비동기 삭제 가능 파일에서 반환된 작업에 대한 대기가 수행되는 방법을 구성합니다. |
적용 대상
추가 정보
- Stream
- StreamReader
- Encoder
- Encoding
- 파일 및 스트림 I/O
- 방법: 파일 텍스트 읽기
- 방법: 파일 텍스트 쓰기
- 방법: 새로 만든 데이터 파일 읽기 및 쓰기
.NET