Let me first apologize if this question could sound perhaps sort of amateurish for the seasoned programmers among you, the thing is I've been having many arguments about this at work so I really want to get this straight and that's basically why I'm relying on the stackoverflow community to get this settled once and for all :)
So, on the one hand according to MSDN, we have:
TextWriter Class
Represents a writer that can write a sequential series of characters. This class is abstract.
FileStream Class
Exposes a Stream around a file, supporting both synchronous and asynchronous read and write operations.
StreamWriter Class
Implements a TextWriter for writing characters to a stream in a particular encoding.
On the other hand it's evident they all belong to System.IO but given that MSDN examples kind of mix some of them, I'm still not reaching the much desired a-ha moment.
Any comment would be more than appreciated, thanks much in advance!