Java 객체를 네트워크를 통해 전송하거나 바이너리 형식으로 저장해야 하는 상황에서 바이트 배열로 변환 필수적일 수 있습니다. 직렬화 가능한 클래스 AppMessage가 있는 시나리오를 고려해 보겠습니다. 소켓을 통해 AppMessage 인스턴스를 다른 컴퓨터로 보내고 수신된 바이트에서 재구성하려면 다음 단계를 수행하면 됩니다.
이 프로세스의 코드 조각:
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); } }
이러한 메소드를 사용하면 AppMessage 인스턴스와 같은 직렬화 가능 개체를 네트워크를 통해 효율적으로 보내고 스트림에서 재구성할 수 있습니다. 수신종료.
위 내용은 Java 직렬화 가능 객체를 바이트 배열로 변환하거나 그 반대로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!