Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中,在磁盘上存储对象的最佳方式是什么?_Java_Storage - Fatal编程技术网

在java中,在磁盘上存储对象的最佳方式是什么?

在java中,在磁盘上存储对象的最佳方式是什么?,java,storage,Java,Storage,我想在文件中保存任何类型的对象,并随时恢复它 我将其用于我想要制作的面向对象存储。序列化不是一个解决方案,因为许多类不实现可序列化 谢谢你有些东西本来就不应该被储存和取回,如果你尝试的话,它们会以惊人的方式破碎。任何使用本机资源(文件句柄、套接字等)的东西都是一个很好的例子。这就是为什么存在可序列化接口;它在一定程度上保证了写入对象并将其读回不会引起奇怪的问题 如果你想尝试一下,你可以想象使用反射来获取对象的内容并将它们填充到一个文件中。但那真的是个坏主意 如果对象是您自己的,只需实现Seria

我想在文件中保存任何类型的对象,并随时恢复它

我将其用于我想要制作的面向对象存储。序列化不是一个解决方案,因为许多类不实现可序列化


谢谢你

有些东西本来就不应该被储存和取回,如果你尝试的话,它们会以惊人的方式破碎。任何使用本机资源(文件句柄、套接字等)的东西都是一个很好的例子。这就是为什么存在可序列化接口;它在一定程度上保证了写入对象并将其读回不会引起奇怪的问题


如果你想尝试一下,你可以想象使用反射来获取对象的内容并将它们填充到一个文件中。但那真的是个坏主意

如果对象是您自己的,只需实现Serializable即可。如果它们被其他人拥有,那么纠缠着让它们也这样做,或者使用自己的序列化机制(可能使用反射)

请记住,后一个过程非常脆弱(取决于另一个类的内部结构),如果该类包含文件句柄或套接字等不可序列化对象,则该过程可能完全不合适。

是否可能重复?