title: How to modify/convert raw stream data during copy to another stream?
body: <p>I have any <code>System.IO.Stream</code> with input data and another one to write output to. What's a good way to copy stream contents while beeing able to detect certain keywords and modifying/removing data from the stream?</p>
  
  <p>Do I have to use <code>.Read</code> and <code>.Write</code> and a buffer and deal with buffer boundaries myself (like only a part of a keyword at the end of the buffer)? Of course that's not too hard, but I hope for something more fashionable, like inheriting some ready-made stream converter class.</p>
  
  <p>For example, since it's for MS Exchange anyway, I tried to inherit <code>Microsoft.Exchange.Data.TextConverters.TextConverter</code>, but it looks like this is not possible?</p>
  
  <p>I know, encoding could be another issue, but let's treat it as raw bytes for this question.</p>