У 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 для просмотра объекта (путем установки точки останова).