Есть ли в Eclipse редактор / просмотрщик для сериализованных файлов Java? - PullRequest
13 голосов
/ 03 февраля 2011

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

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

Ответы [ 4 ]

5 голосов
/ 03 февраля 2011

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

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

4 голосов
/ 04 февраля 2011

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

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

2 голосов
/ 03 февраля 2011

Это не «независимый» ответ, а просто расширение ответа OrangeDog.

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

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

  1. Сериализация одного объекта в файл.
  2. Десериализация другого объекта из того же файла.
  3. Сравним оба объекта, чтобы убедиться, что десериализованный объект содержит все значения, которые должны были быть сериализованы (, т.е. , убедитесь, что "все необходимые атрибуты записаны" )
1 голос
/ 03 февраля 2011

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

...