2010-07-20 86 views
0

我想保存任何類型的對象在文件中並隨時恢復。在Java中將對象存儲在磁盤上的最佳方式是什麼?

我用它來創建一個面向對象的存儲。序列化不是解決方案,因爲許多類不實現Serializable。

謝謝

+0

http://stackoverflow.com/questions/239280/which-is-the-best-alternative-for-java- serialization的可能重複? – 2010-07-20 08:59:53

回答

2

從來沒有打算某些對象來存儲和檢索,如果你試圖在壯觀的方式將打破。任何使用本地資源(文件句柄,套接字等)都是一個很好的例子。這就是Serializable接口存在的原因;它的部分作用就是保證書寫物品和閱讀它不會造成奇怪的問題。

如果您想嘗試使用反射,您可以使用反射來獲取對象的內容並將它們填入文件中。但這是一個非常糟糕的主意。

0

如果對象是你自己的,只需實現Serializable。如果他們被他人所有,那麼就要求他們這樣做,或者推出自己的序列化機制(可能使用反思)。

請記住,後一個過程非常脆弱(取決於另一個類的內部),如果類包含不可序列化的對象(如文件句柄或套接字),則可能完全不合適。

相關問題