char readCharLittleEndian( ) { // 2 bytes int low = readByte() & 0xff; int high = readByte(); return(char)( high << 8 | low ); // rem in JDK 1.5+ you can say: return Char.reverseBytes( c ); }