Sto cercando di serializzare un oggetto. Esso però ha referenze con la classe java.io.FileReader. Allora ho creato una nuova classe FileReaderMio.java così composta
codice:import java.io.*; import java.lang.Object.*; public class FileReaderMio extends FileReader implements Serializable { public FileReaderMio(File file) throws FileNotFoundException { super(file); } public FileReaderMio(FileDescriptor fd) throws FileNotFoundException { super(fd); } public FileReaderMio(String fileName) throws FileNotFoundException { super(fileName); } }
compilo senza errori, ma l'esecuzione mi dà:
codice:java.rmi.UnmarshalException: error unmarshalling return; nested exception is: java.io.InvalidClassException: FileReaderMio; no valid constructor at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:157) at FPV_Stub.ottieniAnimazione(Unknown Source) at Client.main(Client.java:72) Caused by: java.io.InvalidClassException: FileReaderMio; no valid constructor at java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:428) at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:268) at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:504) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1546) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1460) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1693) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1912) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1836) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1713) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339) at java.awt.Component.readObject(Component.java:7482) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:919) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1813) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1713) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339) at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:290) at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:139) ... 2 more Normal Termination Output completed (25 sec consumed).

Rispondi quotando