Каков наилучший способ хранения объектов на диске в Java? - PullRequest
0 голосов
/ 20 июля 2010

Я хочу сохранить ЛЮБОЙ вид объектов в файле и восстановить его в любое время.

Я использую это для объектно-ориентированного хранилища, которое я хочу создать. Сериализация не является решением, потому что многие классы не реализуют Сериализуемый.

Спасибо

Ответы [ 2 ]

2 голосов
/ 20 июля 2010

Некоторые объекты никогда не предназначались для хранения и извлечения, и если бы вы попытались, они бы сломались.Все, что использует собственные ресурсы (дескрипторы файлов, сокеты и т. Д.), Является ярким примером.Вот почему существует интерфейс Serializable;отчасти это служит гарантией того, что запись объекта и его чтение не вызовет странных проблем.

Если вы все равно захотите попробовать, вы можете использовать отражение, чтобы получить содержимое объекта и поместить его вфайл.Но это была бы действительно плохая идея.

0 голосов
/ 20 июля 2010

Если объекты ваши, просто реализуйте Serializable. Если они принадлежат другим, то сделайте так, чтобы они поступили так же, или используйте ваш собственный механизм сериализации (возможно, с использованием отражения).

Имейте в виду, что последний процесс очень хрупок (в зависимости от внутренних свойств другого класса) и может быть совершенно неуместным, если класс содержит несериализуемые объекты, такие как дескрипторы файлов или сокеты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...