응용 프로그램이 시작될 때마다 특정 파일의 내용을 지워야합니다. 어떻게하나요?
답변:
File.WriteAllText 메서드를 사용할 수 있습니다 .
System.IO.File.WriteAllText(@"Path/foo.bar",string.Empty);
IO exceptions of file is in use
난 당신이 파일 스트림을 통해 수동으로 처리하는 것이 좋습니다, 그래서
응용 프로그램이 방금 내용을 업데이트 한 경우에도 파일이 새 생성 시간을 표시하지 않기를 원했기 때문에 새 파일 을 만들지 않고 파일 내용 을 지우 려고 한 것입니다.
FileStream fileStream = File.Open(<path>, FileMode.Open);
/*
* Set the length of filestream to 0 and flush it to the physical file.
*
* Flushing the stream is important because this ensures that
* the changes to the stream trickle down to the physical file.
*
*/
fileStream.SetLength(0);
fileStream.Close(); // This flushes the content, too.
이 작업을 수행하는 가장 간단한 방법은 아마도 응용 프로그램을 통해 파일을 삭제하고 동일한 이름으로 새 파일을 만드는 것입니다. 더 간단한 방법으로 응용 프로그램이 새 파일로 덮어 쓰도록 만들 수 있습니다.
File.WriteAllText
하면 하드 링크가 업데이트되지 않았기 때문에 가끔 (?) 파일이 삭제되는 것처럼 보입니다.