//实现替换原有文件内容 //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(); }