멀티 스레드로 부터 안전한 파일 입출력 방식 중 가장 쉽고 간편하며 좋은 방식이다.
FileStream과 StreamReader를 이용한 파일 쓰기는 Json 객체를 쓸때 종종 오류가 생긴다.
이유를 알면 댓글 부탁드립니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
private object _fileLock = new object();
public void SafeWriteFile(string path, string data, Encoding encoding)
{
try
{
lock (_fileLock)
{
File.WriteAllText(path, data, encoding);
}
}
catch (Exception ex)
{
Debug.WriteLine(ex.Message);
}
}
public string SafeReadFile(string path, Encoding encoding)
{
try
{
lock (_fileLock)
{
return File.ReadAllText(path, encoding);
}
}
catch (Exception ex)
{
Debug.WriteLine(ex.Message);
}
return null;
}
|
cs |