Object Persistence
The Java platform provides two mechanisms for object persistence: the ability to save object state so that the object can later be recreated. Both mechanisms involve serialization; the second is aimed particularly at JavaBeans.
Serialization
One of the most important features of
the java.io
package is the ability to
serialize objects: to convert an object into a
stream of bytes that can later be deserialized back into a copy of
the original object. The following code shows how to use
serialization to save an object to a file and later read it back:
Object o; // The object we are serializing; it must implement Serializable File f; // The file we are saving it to try { // Serialize the object ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(f)); oos.writeObject(o); oos.close(); // Read the object back in ObjectInputStream ois = new ObjectInputStream(new FileInputStream(f)); Object copy = ois.readObject(); ois.close(); } catch (IOException e) { /* Handle input/output exceptions */ } catch (ClassNotFoundException cnfe) { /* readObject() can throw this */ }
The previous example serializes to a file, but remember, you can write serialized objects to any type of stream. Thus, you can write an object to a byte array, then read it back from the byte array, creating a deep copy of the object. You can write the object’s bytes to a compression stream or even write the bytes to a stream connected across a network to another program!
JavaBeans Persistence ...
Get Java in a Nutshell, 5th Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.