question: @ Override public int read ( char ch [ ] , int offset , int length ) throws IOException { if ( length > fBuffer . length ) { length = fBuffer . length ; } int count = fInputStream . read ( fBuffer , 0 , length ) ; for ( int i = 0 ; i < count ; i ++ ) { int b0 = fBuffer [ i ] ; if ( b0 < 0 ) { throw new MalformedByteSequenceException ( fFormatter , fLocale , XMLMessageFormatter . XML_DOMAIN , "InvalidASCII" , new Object [ ] { Integer . toString ( b0 & 0x0FF ) } ) ; } ch [ offset + i ] = ( char ) b0 ; } return count ; }
target:  Read characters into a portion of an array.  This method will block until some input is available, an I/O error occurs, or the end of the stream is reached.