/** * Reads a string from the byte stream. * @return the next string in the byte stream */ private String readString(final Input rawInput) { final int strLen = lengthOfCurrentString(rawInput); final String res = new String(rawInput.getBytes(), rawInput.getStreamPosition(), strLen, charset); rawInput.addToStreamPosition(strLen); moveToFourByteBoundry(rawInput); return res; }
/** * Reads a binary blob from the byte stream. * @return the next blob in the byte stream */ private byte[] readBlob(final Input rawInput) { final int blobLen = readInteger(rawInput); final byte[] res = new byte[blobLen]; System.arraycopy(rawInput.getBytes(), rawInput.getStreamPosition(), res, 0, blobLen); rawInput.addToStreamPosition(blobLen); moveToFourByteBoundry(rawInput); return res; }