Skip to content
Search

Java.io.Serializable

lastmod 2020-01-22created 2020-01-211 edits

Java Serializatoin refers to serializing a Java object's code into a Stream that can be restored later, in order to store or transmit Java objects.

Serialization (Serialize) requirements

The basic requirement for an object to be serializable is that it implements the java.io.Serializable interface.

public class Member implements Serializable {
    private String name;
    private String email;
    private int age;

    public Member(String name, String email, int age) {
        this.name = name;
        this.email = email;
        this.age = age;
    }
    @Override
    public String toString() {
        return String.format("Member{name='%s', email='%s', age='%s'}", name, email, age);
    }
}

How to serialize (Serialize)

Serialization is done with java.io.ObjectOutputStream.

public static void main(String[] args){
    Member member = new Member("김배민", "[email protected]", 25);
    byte[] serializedMember;
    try (ByteArrayOutputStream baos = new ByteArrayOutputStream()) {
        try (ObjectOutputStream oos = new ObjectOutputStream(baos)) {
            oos.writeObject(member);
            // serializedMember -> 직렬화된 member 객체
            serializedMember = baos.toByteArray();
        }
    }
    // 바이트 배열로 생성된 직렬화 데이터를 base64로 변환
    System.out.println(Base64.getEncoder().encodeToString(serializedMember));
}

See also

Favorite site

author Zer0 sitemap