.txt 파일을 만들어서 쓰고 싶습니다. 파일이 이미 존재하면 더 많은 줄을 추가하고 싶습니다.
string path = @"E:\AppServ\Example.txt";
if (!File.Exists(path))
{
File.Create(path);
TextWriter tw = new StreamWriter(path);
tw.WriteLine("The very first line!");
tw.Close();
}
else if (File.Exists(path))
{
TextWriter tw = new StreamWriter(path);
tw.WriteLine("The next line!");
tw.Close();
}
그러나 첫 번째 줄은 항상 덮어 쓰는 것 같습니다 ... 같은 줄에 쓰지 않으려면 어떻게해야합니까 (루프에서 이것을 사용하고 있습니까)?
나는 그것이 매우 간단한 일이라는 것을 알고 있지만 WriteLine
이전 에는 방법을 사용하지 않았습니다 . 저는 C #을 처음 접했습니다.
File.Open
내부적으로 WinAPI 함수 (다음 주석 참조)에 위임하여 경쟁 조건을 방지하는 것입니다. 여기에있는 대부분의 솔루션은이 작업을 수행하지 않으며 경쟁 조건에 따라 달라질 수 있습니다.
if (file exists) { open file }
은 모든 프로그래밍 언어에서 거의 항상 틀립니다! .NET의 경우 솔루션은File.Open(path, FileMode.Append, FileAccess.ReadWrite)
적절한 플래그와 함께 사용 하는 것입니다.