title: FileStream and StreamWriter - How to truncate the remainder of the file after writing?
body: <pre><code>var fs = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.ReadWrite);
  using(var writer = new StreamWriter(fs))
      writer.Write(....);
  </code></pre>
  
  <p>If the file previously contained text and the newly-written text is shorter than what was already in the file, how do I make sure that the obsolete trailing content in the file is truncated?</p>
  
  <p>Note that opening the file in truncate mode isn't an option in this case. The file is already open when I receive the <code>FileStream</code> object. The above code is just to illustrate the stream's properties.</p>
  
  <p><strong>EDIT</strong></p>
  
  <p>Expanding on the answer below, the solution is:</p>
  
  <pre><code>var fs = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.ReadWrite);
  using(var writer = new StreamWriter(fs))
  {
      writer.Write(....);
      writer.Flush();
      fs.SetLength(fs.Position);
  }
  </code></pre>