Working with files, streams, and serialization is something you as a developer will do many times. Creating import files, exporting data to a file, persisting an application state, using a file definition to build a file, and many other scenarios will present themselves at some point during your career. In this chapter, we will look at the following:
- Creating and extracting ZIP archives
- In-memory stream compression and decompression
- Async and await file processing
- How to make a custom type serializable
- Using ISerializable for custom serialization to a FileStream
- Using XmlSerializer
- JSON serializers