![]() |
![]() |
![]() |
![]() |
![]() |
|
Conveniently, Java's Vector class implements the
Serializable interface. Thus, inasmuch as the Movie class,
defined in Segment 634, also implements the
Serializable interface, you can use writeObject and
readObject to write entire vectors of movies serially and to read
them back serially, as shown in the following demonstration program. The
readData method defined in Segment 613 provides the
initial vector of Movie instances from a text file:
import java.io.*;
import java.util.*;
public class Demonstrate {
public static void main(String argv[])
throws IOException, ClassNotFoundException {
// Read from text file:
Vector mainVector = Auxiliaries.readMovieFile("input.data");
// Write out vector of Movie instances:
FileOutputStream fileOutputStream
= new FileOutputStream("transit.data");
ObjectOutputStream objectOutputStream
= new ObjectOutputStream(fileOutputStream);
objectOutputStream.writeObject(mainVector);
objectOutputStream.close();
// Read in vector of Movie instances:
FileInputStream fileInputStream
= new FileInputStream("transit.data");
ObjectInputStream objectInputStream
= new ObjectInputStream(fileInputStream);
mainVector = (Vector) objectInputStream.readObject();
// Test vector:
for (Iterator i = mainVector.iterator(); i.hasNext();) {
System.out.println(((Movie) i.next()).rating());
}}}