code: public String readUnmodifiedUTF ()
          throws IOException
      {
          // find out how many raw bytes of UTF8 data there is
          int utflen = readUnsignedShort();
          // read precisely that many into a buffer
          byte[] bbuf = new byte[utflen];
          in.read(bbuf);
          return new String(bbuf, "UTF-8");
          //return new String(bbuf, Charsets.UTF_8); // TODO Java 6 (Charsets is from guava)
      }
docs: Read a string encoded as real UTF-8 (rather than the modified format handled by
  {link #readUTF}).