Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!us.feeder.erje.net!newsfeed.fsmpi.rwth-aachen.de!newsfeed.straub-nv.de!news-2.dfn.de!news.dfn.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Robert Klemme Newsgroups: comp.lang.java.programmer Subject: Re: NotSerializableException Date: Tue, 14 Apr 2015 07:50:53 +0200 Lines: 51 Message-ID: References: <631073ff-d7fa-411a-a003-567349a37761@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: individual.net htIHgLJ9vqNjwK5FzsNnmw/BNPWZOOuRkGALC+kECrhvntqcI= Cancel-Lock: sha1:e+wb2E3cblQeet80Ofug8YperD8= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 In-Reply-To: <631073ff-d7fa-411a-a003-567349a37761@googlegroups.com> Xref: csiph.com comp.lang.java.programmer:31563 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/