FileStream과 StreamWriter/Reader를 사용하는데, 파일 공유 모드로 사용하고자 한다.

프로그램 구동중에 StreamWriter를 사용하고, File을 close하지 않고, 종료시점에 close 처리.

close 못하기에 file 공유모드로 open해서 Close되어있지않아도 StreamReader가 가능하다.

단 Close 시점에 파일이 Write되므로, StreamWriter의 Autoflush를 true로 설정해두자.

 

#region filestream 속성 사용 하여, Write/Read 공유 모드로 open하기 연습
// close 하지 않은 상태에서
FileStream file = new FileStream(@"c:\sample.txt", FileMode.Append, FileAccess.Write, FileShare.ReadWrite);
private void write_Click(object sender, EventArgs e)
{
StreamWriter sw = new StreamWriter(file);
sw.AutoFlush = true;
sw.WriteLine("write_Click(object sender, EventArgs e)");
// sw.Close();

}

private void read_Click(object sender, EventArgs e)
{
try
{
FileStream file = new FileStream(@"c:\sample.txt", FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
StreamReader sr = new StreamReader(file);
string read = sr.ReadToEnd();
sr.Close();
file.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}

}

#endregion

 

+ Recent posts