C#에서 StreamWriter 클래스를 사용하면 문자 데이터를 스트림에 손쉽게 기록할 수 있습니다. 텍스트 파일을 생성하고 내용을 작성하는 가장 일반적인 방법 중 하나이며, System.IO 네임스페이스에 포함되어 있습니다.
StreamWriter란?
StreamWriter는 TextWriter의 파생 클래스로, 특정 인코딩 방식으로 문자 데이터를 스트림에 쓰는 역할을 합니다. 파일뿐만 아니라 메모리 스트림 등 다양한 출력 대상에 텍스트를 기록할 수 있습니다.
새 파일 생성하기
StreamWriter 객체를 생성하면 지정한 경로에 새 파일이 만들어집니다.
StreamWriter sw = new StreamWriter("hello.txt");파일에 텍스트 추가하기
WriteLine() 메서드를 사용하면 한 줄씩 텍스트를 파일에 기록할 수 있습니다.
sw.WriteLine("Hello");
sw.WriteLine("World");전체 예제 코드
using 문을 사용하면 작업이 끝난 후 리소스가 자동으로 해제되므로, StreamWriter 사용 시 권장되는 패턴입니다.
using System.IO;
public class Program {
public static void Main() {
using (StreamWriter sw = new StreamWriter("hello.txt")) {
sw.WriteLine("Hello");
sw.WriteLine("World");
}
}
}실행 결과
위 코드를 실행하면 "hello.txt" 파일이 생성되고, 그 안에 다음과 같은 내용이 기록됩니다.
Hello World
참고 사항
- 기존 파일 덮어쓰기: 동일한 이름의 파일이 이미 존재하면 기본적으로 덮어써집니다.
- 내용 이어서 쓰기: append 매개변수를 true로 설정하면 기존 내용 뒤에 추가할 수 있습니다. 예:
new StreamWriter("hello.txt", true) - 리소스 관리: using 문 또는 Dispose() 호출을 통해 스트림을 반드시 닫아야 데이터가 정상적으로 저장됩니다.