Re: NotSerializableException
On 14.04.2015 03:51, akkshaykhoslaa@gmail.com wrote:
Hi,
My code is as follows:
File ser = new File("locationinstringform");
FileInputStream fileIn3 = new FileInputStream(ser);
ObjectInputStream objectIn3 = new ObjectInputStream(fileIn3);
myObj = (MyObj) objectIn3.readObject();
objectIn3.close();
fileIn3.close();
myObj.someFunction(x, y);
FileOutputStream fileOut3 = new FileOutputStream(ser);
ObjectOutputStream objectOut3 = new ObjectOutputStream(fileOut3);
objectOut3.writeObject(myObj);
objectOut3.close();
fileOut3.close();
When I run my code, I get an error tracing to the line that says objectOut3.writeObject(myObj);
The error is as follows:
Exception in thread "main" java.io.NotSerializableException: java.util.HashMap$KeySet
However, that MyObj class I have defined isn't a HashMap or Set, and
doesn't have a HashMap or Set. It only has 2 instance objects, one of
which is one is an object I coded, and the other is an ArrayList. I
have made sure all classes I have coded implement the serializable
interface.
Obviously that assumption must be false: there must be a HashMap or sub
class of it somewhere in the graph of objects you are trying to
serialize. Since you seem to read it from a serialized stream
candidates to look closer are someFunction() as well as readResolve(),
readObject() and readObjectNoData() and their write counterparts. See
http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html
Any ideas as to why the problem could be arising and what the
solution is? I have been stuck for a long time so any help would be
much appreciated.
Without seeing class MyObj and probably also super and sub classes it's
all only guessing.
Cheers
robert
--
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/