jQuery in Action, 3rd edition
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
JavaRanch » Java Forums » Java » I/O and Streams
Bookmark "code throws error "java.io.EOFException"?" Watch "code throws error "java.io.EOFException"?" New topic

code throws error "java.io.EOFException"?

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: 9189

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]
I agree. Here's the link: http://aspose.com/file-tools
subject: code throws error "java.io.EOFException"?
jQuery in Action, 3rd edition