>Java >java지도 시간 >Java 개체를 바이트 배열로 직렬화 및 역직렬화하려면 어떻게 해야 합니까?

Java 개체를 바이트 배열로 직렬화 및 역직렬화하려면 어떻게 해야 합니까?

DDD
DDD원래의
2024-12-15 13:14:26662검색

How Can I Serialize and Deserialize Java Objects to Byte Arrays?

Java 객체를 바이트 배열로 직렬화 및 역직렬화

네트워크를 통한 데이터 전송과 관련된 일반적인 시나리오에서는 객체를 변환해야 하는 경우가 많습니다. 효율적인 전송을 위해 바이트 배열로 변환됩니다. Java 객체를 직렬화 및 역직렬화하는 방법을 이해하면 개발자는 이 데이터 교환을 효과적으로 관리하여 전송된 객체의 무결성과 기능을 보장할 수 있습니다.

직렬화

객체를 직렬화하려면, 시도되고 테스트되었습니다 메서드:

static byte[] serialize(final Object obj) {
    ByteArrayOutputStream bos = new ByteArrayOutputStream();

    try (ObjectOutputStream out = new ObjectOutputStream(bos)) {
        out.writeObject(obj);
        out.flush();
        return bos.toByteArray();
    } catch (Exception ex) {
        throw new RuntimeException(ex);
    }
}

역직렬화

객체가 직렬화되어 전송되면 수신 측에서는 다음 접근 방식을 사용하여 객체를 재구성할 수 있습니다.

static Object deserialize(byte[] bytes) {
    ByteArrayInputStream bis = new ByteArrayInputStream(bytes);

    try (ObjectInput in = new ObjectInputStream(bis)) {
        return in.readObject();
    } catch (Exception ex) {
        throw new RuntimeException(ex);
    }
}

이러한 메소드를 구현함으로써 개발자는 Java 객체를 바이트 배열로 원활하게 변환하고 네트워크를 통해 전송한 다음 수신 측에서 역직렬화하여 객체의 상태를 보존하고 추가 처리를 가능하게 합니다.

위 내용은 Java 개체를 바이트 배열로 직렬화 및 역직렬화하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.