This week's book giveaway is in the JDBC forum.
We're giving away four copies of Make it so: Java DB Connections & Transactions and have Marcho Behler on-line!
See this thread for details.
The moose likes I/O and Streams and the fly likes code throws error Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Make it so: Java DB Connections & Transactions this week in the JDBC forum!
JavaRanch » Java Forums » Java » I/O and Streams
Bookmark "code throws error ""?" Watch "code throws error ""?" New topic

code throws error ""?

Minal Silimkar-Urankar
Ranch Hand

Joined: Nov 25, 2007
Posts: 136
FileInputStream fis=new FileInputStream("emp.ser");
ObjectInputStream ois=new ObjectInputStream(fis);

System.out.println("De-serializing object...");

Employee e1[]=new Employee[5];
int i=0;
System.out.println("Object de-serialize...");

Minal Silimkar
Joe Ess

Joined: Oct 29, 2001
Posts: 9169

ObjectInputStream.readObject does not return null on EOF, as your while loop expects. It throws an EOFException. Have a look at the API documentation for the particulars. I don't like relying on exceptions to signal something that is expected, like EOF so I usually store a bunch of objects in a collection of some sort and serialize that. Other folks will recommend first writing the number of objects to the stream, then writing the objects.

[How To Ask Questions On JavaRanch]
subject: code throws error ""?
It's not a secret anymore!