private static int readLen ( InputStream in ) throws IOException { int c = in . read ( ) ; if ( c > 0 ) { if ( ( c & 0x80 ) == 0 ) { } else if ( ( c & 0xC0 ) == 0x80 ) { c = c & ~ 0xC0 ; c = ( c << 8 ) | in . read ( ) ; } else if ( ( c & 0xE0 ) == 0xC0 ) { c = c & ~ 0xE0 ; c = ( c << 8 ) | in . read ( ) ; c = ( c << 8 ) | in . read ( ) ; } else if ( ( c & 0xF0 ) == 0xE0 ) { c = c & ~ 0xF0 ; c = ( c << 8 ) | in . read ( ) ; c = ( c << 8 ) | in . read ( ) ; c = ( c << 8 ) | in . read ( ) ; } else if ( ( c & 0xF8 ) == 0xF0 ) { c = in . read ( ) ; c = ( c << 8 ) | in . read ( ) ; c = ( c << 8 ) | in . read ( ) ; c = ( c << 8 ) | in . read ( ) ; c = ( c << 8 ) | in . read ( ) ; } } return c ; }
read length bytes from stream and return length of coming word