home / developersection / category
We have covered how to persist the object state to a disk file. In many situations, the classes in a program evolve over time.
A Serializable object may contain references to other objects. We may be wondering if we serialize an object, whether the nested objects are also serialized.
A program that illustrates the use of the Externalizable interface is given here. Note that the program uses Java’s security API. We need not worry about the security code while learning the importance of the Externalizable interface.
In the previous posts, we saw how to store and retrieve the objects using Serialization. We’ll now look at another very important technique for storing and retrieving objects.
The StreamTokenizer is another very useful class that parses an input stream into tokens. This class is not derived from InputStream or OutputStream. Yet, it is classified under the I/O library.
So far we have been using System.out to print messages to the console. Java SE 6 added a Console class to enhance and simplify command-line applications.
This is a very convenient class that has the ability to print representations of various data values, such as all primitive types. During printing it converts all characters into bytes using the platform’s default character encoding.
If we are working with binary data such as images and sounds, we need to use binary mode files.
Similar to the InputStream class, the abstract OutputStream class is a superclass of all classes representing an output stream of bytes. A few examples of these subclasses are:
The File Copy program accepts two command-line parameters and copies the contents of the file specified by the first parameter to the filename specified in the second parameter.
The read method we used in the previous post is in fact defined in the InputStream class. The FileInputStream class that extends from the InputStream class inherits this method.
Java provides a rich set of classes for I/O. A high-level class diagram for the I/O class library is shown here: