protected void readUntil ( char echar ) throws IOException { int ch , i = 0 ; IStringBuffer sb = new IStringBuffer ( ) ; while ( ( ch = readNext ( ) ) != - 1 ) { if ( ++ i >= MAX_QUOTE_LENGTH ) { /* * push back the readed chars * and reset the global idx value. */ for ( int j = sb . length ( ) - 1 ; j >= 0 ; j -- ) { reader . unread ( sb . charAt ( j ) ) ; } idx -= sb . length ( ) ; break ; } sb . append ( ( char ) ch ) ; if ( ch == echar ) { gisb . append ( sb . toString ( ) ) ; break ; } } sb = null ; }
loop the reader until the specifield char is found .