[英]How can I deserialize the object, if it was moved to another package or renamed?
[英]How can I deserialize an object of a class that comes from another project?
我想将我在Eclipse中制作的类导入到Android Studio中的项目中。 我一直在Eclipse中从事一个项目,该项目涉及一个名为WordList
的自定义类,并且已将该类的实例序列化为二进制文件。
现在,我才刚刚开始学习有关android编程的知识,我想制作一个使用此文件的应用程序。 我想使用类似的WordList
从该文件读取WordList
对象:
ObjectInputStream in = new ObjectInputStream( new FileInputStream(new File( /*file name*/ ))); return (WordList) in.readObject();
但是为了做到这一点,程序当然需要了解WordList
类,否则我将在转换时得到ClassNotFoundException
。 我首先WordList
是在Android项目中创建一个新的WordList
类,该类只是Eclipse项目中的一个精确副本,但后来我得到了例外:
java.lang.ClassNotFoundException: Didn't find class "package_name.WordList" on path: DexPathList[[zip file "/data/app/my_project_directory-2/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
。
因此,显然,这两个相同的WordList
类实际上是不相同的。 为什么会这样呢? 我是否可以将Eclipse项目中的类导入Android Studio项目中,以便实际上可以使用相同的类? 还是有办法使程序意识到文件实际上包含序列化的WordList
对象?
将原始类和其他类打包到一个jar文件中,并使其可以作为客户端/ lib jar使用
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.