An overview of how File Input and Output works in Java. I cover OutputStreams, InputStreams, File, ObjectOutputStream, PrintWriter, Gson to parse an object into JSON, the Serializable interface, and the concept of serialization/deserialization in Java.