Инструменты пользователя

Инструменты сайта


java_serialization

Назад

Сериализация это процесс сохранения состояния объекта в последовательность байт.

Пример Сериализации:

import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
 
public class Main 
{
    public static void main(String[] args)
    {
        try
        {
            //Создаем файл для записи данных с сериализации
            FileOutputStream fs = new FileOutputStream("temp.out");
 
            ObjectOutputStream oos = new ObjectOutputStream(fs);
 
            Manager m = new Manager();
            m.setManager("Фисенко","Александр");
 
            //При помощи метода writeObject - мы можем сохранить в потоке содержимое объекта.
            oos.writeObject(m);
            oos.flush();
 
            oos.close();
            fs.close();
        } 
        catch (Exception e) 
        {
            System.out.println("Ошибка");
        }
    }
}
 
class Manager implements Serializable 
{
    String LastName;
    String Name;
    public void setManager(String LastName,String Name) 
    {
        this.LastName = LastName;
        this.Name = Name;
    }   
}

Десериализация это процесс восстановления объекта, из этих байт.

import java.io.FileInputStream;
import java.io.ObjectInputStream;
import java.io.Serializable;
 
public class Main 
{
    public static void main(String[] args)
    {
        try
        {
            FileInputStream fs = new FileInputStream("temp.out");
            ObjectInputStream in = new ObjectInputStream(fs);
            Manager m = (Manager) in.readObject();
            System.out.println("Фамилия:"+m.LastName);
        } 
        catch (Exception e) 
        {
            System.out.println("Ошибка");
        }
    }
}
 
class Manager implements Serializable 
{
    String LastName;
    String Name;
    public void setManager(String LastName,String Name) 
    {
        this.LastName = LastName;
        this.Name = Name;
    }   
}