1. You're not aligning your reads correctly (are you sure you are reading at the correct offset?) 2. You're not interpreting the data correctly (not an int? wrong endian?)
Is the data after the size field being read properly? I don't know about your assignment, so I can't make any presumptions, like, the data after size is 'size' bytes.
Reading your resource as a stream of bytes (if it's a file, view the file with some binary file viewer, or print out the stream of bytes to stdout, or use the Unix or Cygwin tool 'od') to make sure you're actually reading everything correctly up to that point.
Originally posted by Robert Konigsberg: It sounds like one of two things is happening:
1. You're not aligning your reads correctly (are you sure you are reading at the correct offset?)
I second this hypothesis. The int you are reading could be converted to a four character string containing "4 " (a number 4 and three whute space characters). Perhaps you are trying to read a string-typed field?
In my assignment (B&S) all record data is string typed; only in the schema description part do I need to use readInt.