char readCharLittleEndian( )
   {

   // get two component unsigned 2 bytes
   int low = readByte() & 0xff;
   int high = readByte();

   // combine to unsigned
   return(char)( high << 8 | low );

   // rem in JDK 1.5+ you can say:
   // return Char.reverseBytes( c );

   }