//实现替换原有文件内容
//Seek(0, SeekOrigin.Begin)将指针指向文件的开始,才能从文件的开头,但是此时如果新写入的流长度小于原有文件长度,则会保留原文件多余的信息
using (FileStream fileStream = new FileStream(file, FileMode.Open, FileAccess.Write, FileShare.Write))
{
fileStream.Seek(0, SeekOrigin.Begin);
using (StreamWriter streamWriter = new StreamWriter(fileStream))
{
streamWriter.Write("this is clear file");
fileStream.Flush();
streamWriter.Close();
}
fileStream.Close();
}
//调用Stream的SetLength这个方法,将长度设为0,可以实现清空原有文件
using (FileStream fileStream = new FileStream(file, FileMode.Open, FileAccess.Write, FileShare.Write))
{
fileStream.SetLength(0);
using (StreamWriter streamWriter = new StreamWriter(fileStream))
{
streamWriter.Write("this is clear file");
fileStream.Flush();
streamWriter.Close();
}
fileStream.Close();
}
//如果文件已存在则清空,从Truncate打开的文件中读取将引发异常
using (FileStream fileStream = new FileStream(file, FileMode.Truncate, FileAccess.Write, FileShare.Write))
{
using (StreamWriter streamWriter = new StreamWriter(fileStream))
{
streamWriter.Write("this is");
fileStream.Flush();
streamWriter.Close();
}
fileStream.Close();
}