アプリケーションを起動するたびに特定のファイルの内容をクリアする必要があります。どうすればいいのですか?
File.WriteAllText メソッドを使用できます。
System.IO.File.WriteAllText(@"Path/foo.bar",string.Empty);
これは私がやったことです新しいファイルを作成せずにファイルの内容を消去しますアプリケーションがその内容を更新したばかりでもファイルに新しい作成時刻を表示させたくないので。
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.
つかいます FileMode.Truncate
ファイルを作成するたびに。また、File.Create
try
catch
内。
これを行う最も簡単な方法は、おそらくアプリケーションを介してファイルを削除し、同じ名前の新しいファイルを作成することです。もっと簡単な方法では、アプリケーションを新しいファイルで上書きするだけです。
最も簡単な方法は次のとおりです。
File.WriteAllText(path, string.Empty)
ただし、最初のソリューションではFileStream
をスローできるため、UnauthorizedAccessException
を使用することをお勧めします。
using(FileStream fs = File.Open(path,FileMode.OpenOrCreate, FileAccess.ReadWrite))
{
lock(fs)
{
fs.SetLength(0);
}
}