Java 使用ObjectOutput/InputStream从自定义位置读/写

Java 使用ObjectOutput/InputStream从自定义位置读/写,java,android,Java,Android,我已经阅读了开发者信息,但我不确定我做得对。我希望我的文件在外部存储器(SD卡)上 `ObjectOutputStream out=新的ObjectOutputStream(新文件(Environment.getExternalStorageDirectory().getAbsolutePath()+“/MyAppName/FileName.srl”)) out.writeObject(MyObject) out.close()` 这将编译,但我需要知道一件事:另一个具有完全相同MyObject

我已经阅读了开发者信息,但我不确定我做得对。我希望我的文件在外部存储器(SD卡)上

`ObjectOutputStream out=新的ObjectOutputStream(新文件(Environment.getExternalStorageDirectory().getAbsolutePath()+“/MyAppName/FileName.srl”))

out.writeObject(MyObject)

out.close()`


这将编译,但我需要知道一件事:另一个具有完全相同MyObject类的应用程序可以从这个序列化文件读写吗?或者,对于具有不同用户ID的应用程序,它会以某种方式失败吗?

只要在两个应用程序中使用相同版本的类,这两个应用程序将能够读取/写入彼此的序列化流

如果您还没有这样做,那么应该在可序列化类中声明一个
静态最终长serialVersionUID
,以便将来检测任何可能的版本不兼容