FileInfo fi = new FileInfo(path);
fi.Open(FileMode.Open, FileAccess.ReadWrite, FileShare.Read);
이렇게 파일을 열었다고 하면,
파일을 읽기/쓰기 모드로 열고 파일 공유를 읽기로만 설정한 경우입니다.
이렇게 열린 파일을 다른 프로세스에서 읽을려면,
FileInfo fi = new FileInfo(@"D:test.txt");
fi.Open(FileMode.Open, FileAccess.Read ,FileShare.ReadWrite);
로 여시면 됩니다.
FileShare의 기본값은 Read 이므로 반드시 명시해 주셔야 합니다.
이미 이전 프로세스에서 읽기/쓰기 모드로 열려 있는데
다음 프로세스에서 읽기 공유만 허용한다는 설정이 안 맞는 것이 됩니다.
FileMode.Open, (1)FileAccess.ReadWrite, FileShare.Read
FileMode.Open, FileAccess.Read ,(1)FileShare.ReadWrite
*(1)이 대응 되어야 함
다음은 간단한 예제 입니다.
private void btn_Write_Click(object sender, EventArgs e)
{
if (txt_path.Text.Trim().Length > 0)
{
fs = new System.IO.FileStream(txt_path.Text, FileMode.Append, FileAccess.Write, FileShare.Read);
byte[] buf = Encoding.Default.GetBytes(txt_Write.Text);
fs.Write(buf, 0, buf.Length);
fs.Flush();
}
}
private void btn_Read_Click(object sender, EventArgs e)
{
if (txt_path.Text.Trim().Length > 0)
{
System.IO.FileStream tfs = File.Open(txt_path.Text, FileMode.Open, FileAccess.Read, FileShare.Write);
sr = new StreamReader(tfs, Encoding.Default);
txt_read.Text = sr.ReadToEnd();
}
}
'wpf' 카테고리의 다른 글
[wpf] about Thread Pool (1) | 2009.09.24 |
---|---|
[wpf] Thread Event ManualResetEvent AutoResetEvent (0) | 2009.09.24 |
[wpf] IIS제어 프로그램 소스 (0) | 2009.09.22 |
[wpf] Thread를 이용하여 상태 정보 업데이트 하기 (0) | 2009.09.22 |
[wpf] WPF에서 IIS 제어하기 (1) | 2009.09.22 |