When reading and writing text files:
- it's often a good idea to use buffering (default size is 8K)
- it's often possible to use references to abstract base classes, instead of references to specific concrete classes
- there's always a need to pay attention to exceptions (in particular, IOException andFileNotFoundException)