Перейти к контенту

Экстернализация и десериализация в Java

Экстернализация в Java

Используется всякий раз, когда нам нужно настроить механизм сериализации. Если класс реализует интерфейс Externalizable, сериализация объекта будет выполняться с помощью метода writeExternal().

Принимая во внимание, что в конце получателя, когда объект Externalizable является реконструированным экземпляром, будет создан без конструктора аргументов, а затем вызывается метод readExternal().

 

Если класс реализует только сериализуемый интерфейсный объект, сериализация будет выполняться с использованием ObjectoutputStream.

В конце получателя сериализуемый объект реконструируется с использованием ObjectInputStream.

Десериализация в Java

После того, как сериализованный объект был записан в файл, его можно прочитать из файла и десериализовать, то есть информацию о типе и байты, которые представляют объект и его данные, можно использовать для воссоздания объекта в памяти.

Пример

import java.io.*;

public class DeserializeDemo {
   public static void main(String [] args) {
      Employee e = null;

      try {
         FileInputStream fileIn = new FileInputStream("/tmp/employee.ser");
         ObjectInputStream in = new ObjectInputStream(fileIn);
         e = (Employee) in.readObject();
         in.close();
         fileIn.close();
      } catch (IOException i) {
         i.printStackTrace(); return;
      } catch (ClassNotFoundException c) {
         System.out.println("Employee class not found");
         c.printStackTrace();
         return;
      }
      System.out.println("Deserialized Employee...");
      System.out.println("Name: " + e.name);
      System.out.println("Address: " + e.address);
      System.out.println("SSN: " + e.SSN);
      System.out.println("Number: " + e.number);
   }
}

Итог

Deserialized Employee...
Name: Иван
Address:Россия, Санкт-Петербург
SSN: 0
Number:101

Оцени статью

Средняя оценка / 5. Количество голосов:

 

Спасибо, помогите другим - напишите комментарий, добавьте информации к статье.

Или поделись статьей

Видим, что вы не нашли ответ на свой вопрос.

Помогите улучшить статью.

 

Пока нет комментариев.

Добавить комментарий

Ваш e-mail не будет опубликован.

СайдбарКомментарии (0)