파일 쓸 때 StreamWriter 사용시 autoflush 속성 질문이요..

using (FileStream fileStream = new(filePath, FileMode.Create, FileAccess.Write, FileShare.None))
using (StreamWriter writer = new(fileStream, ansi) { AutoFlush = true })
{
    writer.Write(text);
}

파일을 쓸 때 위와 같이 StreamWriter 를 이용하게끔 했는데요… autoflush 속성을 사용하게 되면 어떤 장점과 단점이 있는지 궁금합니다…

2개의 좋아요

autoflush 속성은 스트림에 데이터를 쓸때(Write) 버퍼링 하지 않고
바로 파일로 쓰도록 처리 합니다.

true로 설정하면 아무래도 바로바로 파일로 쓰이기 때문에 파일에 쓰이는 속도 자체 빠르고요

대신에 I/O 처리 빈도가 높게 발생되고,
버퍼링을 사용하지 않기에 일관성 있도록 파일 쓰기가 불가능 합니다.

3개의 좋아요

답변 감사합니다!! 스트림과 버퍼링 개념부터 알아야겠네요 ㅜㅜ

어차피 빠른 속도로 파일 쓰지 않아도 되니… autoflush 사용 안해야겠네요!!

2개의 좋아요