Readers and Writers
At the heart of .NET’s input/output model sits the concept of streams. Before we go there, let’s look at the layer right above them. There we find the concept of readers (for the I in I/O) and writers (the O in I/O), both of which make use of streams easier. In fact, the file and directory APIs directly exposed those.