질문직렬화 된 Java 객체의 마지막 바이트에 있음을 어떻게 식별합니까?
무엇 직렬화 된 자바 객체에 종료 문자/바이트 시퀀스 (어떤이있는 경우)?
배경
내가 자바 객체 직렬화가 읽은 다음 직렬화를하는 스트림에 기록하고 싶은 작은 자체 교육 프로젝트에서 일하고 있어요. 이후 직렬화 된 객체 사이의 경계를 식별해야하며 현재 객체가 마지막 객체가 아니라는 것을 확신 할 수 없습니다. 항상 식별자로 사용할 수있는 종료 문자가 있습니까?
개체의 시작을 식별 할 수있는 마법 번호 ACED가 있다는 것을 알아 채 셨습니다. 어떻게 끝을 식별합니까?
편집 : 어떤 종료 문자가없는 나는 개체의 끝을 확인하기 위해 (삽입)를 사용할 수있는 안전 종료 문자/시퀀스가 경우?
현재 바이트 다음의 바이트가 존재하지 않습니까? : P – Louis
@ 루우 스트림이 네트워크 스트림 일 수 있으므로 어딘가에서 차단 될 수 있습니다. 그래서, "존재하지 않는다"는 것은 우리가 스트림의 끝에 도달했을 때만 작동해야합니다. – Elijah
Lou : 객체 끝 뒤의 바이트는 다음 객체의 첫 번째 바이트가됩니다. –