Using byte streams for file I/O should include identifying the abstract classes InputStream and OutputStream at the top of the inheritance hierarchies that read and write bytes. The general process follows: