그래서 내있는 ByteArrayOutputStream의 처음 4 바이트 내 스트림 헤더의 길이를 포함한다. 스트림에서 해당 헤더를 제거하고 내 비즈니스로 이동해야합니다.ByteArrayOutputStream에서 바이트를 제거하려면 어떻게해야합니까?
ByteArrayOutputStream oStream = new ByteArrayOutputStream();
/* populate ByteArrayOutputStream */
//grab first int
int headerLength = oStream.toByteArray()[4];
//remove headerLength
String newString = oStream.toString().substring(jsonLength, oStream.size());
oStream.write(newString.getBytes());
나는 이것이 적절한 방법이라고 생각하지 않는다. 아무에게도 제안이 있습니까?
왜 스트림에 기록합니까? 처음부터 쓰지 마세요. –
@JB Nizet - 사실은 이해하기 쉽게하기 위해 많은 코드를 생략했습니다. 일단 내가 그들을 사용해야하지만 그들을 사용해야합니다. – Grammin
@Grammin : 당신은 이해하기 쉽지 않은 것들을 만들었습니다. 당신은 그것들을 완전히 이해할 수 없게 만들었습니다. 정말로 당신이 무엇을하려하는지 명확하지 않습니다. –