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 인터페이스입니다. 형식을 사용 하 여 마쳤으면 직접 또는 간접적으로의 삭제 해야 있습니다. 직접 형식의 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) |
지정된 인코딩을 사용하여 지정된 파일에 대한 클래스의 StreamWriter 새 instance 초기화하고 지정된 개체로 구성합니다FileStreamOptions. |
StreamWriter(String, FileStreamOptions) |
기본 인코딩을 사용하여 지정된 파일에 대한 클래스의 StreamWriter 새 instance 초기화하고 지정된 개체로 구성합니다FileStreamOptions. |
필드
CoreNewLine |
이 |
Null |
쓸 수는 있지만 읽을 수는 없는 백업 저장소를 |
속성
AutoFlush |
StreamWriter가 Write(Char)를 호출할 때마다 해당 버퍼를 내부 스트림에 플러시할지 여부를 나타내는 값을 가져오거나 설정합니다. |
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() |
현재 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) |
|
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(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(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) |
비동기 일회용에서 반환되는 작업을 대기하는 방법을 구성합니다. |
적용 대상
추가 정보
.NET
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기