У Eclipse есть редактор/просмотрщик для java-сериализованных файлов?

Я сериализую свои объекты с помощью ObjectOutputStream(FileOutputStream(File)) и десериализую их с помощью аналогичного InputStreams. Есть ли способ заглянуть внутрь этих сериализованных файлов (желательно в eclipse), поэтому я могу проверить, были ли записаны все необходимые атрибуты?

edit: поиск google был отрицательным

Ответы

Ответ 1

Напишите несколько тестов (используя встроенную поддержку JUnit Eclipse).

Единственный способ "заглянуть внутрь" этих файлов - использовать ObjectInputStream(FileInputStream(File)), если вы не являетесь гуру-байт-кода и не используете hex-редактор. Если у вас действительно есть какое-то тестирование, нет необходимости "заглядывать внутрь".

Ответ 2

Пока это не полноценный редактор, Eamonn McManus написал транскодер, который расшифровывает сериализованный blob в удобочитаемую форму. http://weblogs.java.net/blog/2007/06/12/disassembling-serialized-java-objects

Если бинарная совместимость и производительность являются соображениями, это было бы подходящее время для просмотра Externalizable вместо Serializable.

Ответ 3

Это не "свободный" ответ, а просто расширение ответа OrangeDog.

"Напишите несколько тестов (используя встроенную поддержку JUnit Eclipse).

Если вы хотите протестировать сериализацию, запишите тесты, которые выполняют следующие действия:

  • Сериализация одного объекта в файл.
  • Отключить к другому объекту из того же файла.
  • Сопоставьте оба объекта, чтобы увидеть, что десериализованный объект содержит все значения, которые должны были быть сериализованы (ie убедитесь, что "были записаны все необходимые атрибуты" ).

Ответ 4

Напишите класс, который загружает файл и десериализует объект. Затем используйте Eclipse Debugging View для просмотра объекта (путем установки точки останова).