Chapter 12

Serializing Objects


  • What serialization is and how you make a class serializable
  • How to write objects to a file
  • What transient fields in a class are
  • How to write basic types of data to an object file
  • How to implement the Serializable interface
  • How to read objects from a file
  • How to implement serialization for classes containing objects that are not serializable by default

In this chapter, you see how you can transfer objects to and from a stream. This greatly simplifies file I/O in your object-oriented programs. In most circumstances, the details of writing all the information that makes up an object is taken care of completely and automatically. Similarly, objects are typically reconstructed automatically from what you wrote to the file.


The process of storing and retrieving objects in an external file is called serialization. Writing an object to a file is referred to as serializing, and reading an object from a file is called deserializing. Serialization is concerned with writing objects and the fields they contain to a stream, so static member data is not included. Static fields have whatever values are assigned by default in the class definition. Note that an array of any type is an object and can be serialized — even an array of values of a primitive type, such as type int or type double.

I think you might be surprised at how easy this is. Perhaps the most impressive aspect of the way serialization ...

Get Ivor Horton's Beginning Java®, Java 7 Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.