public final void write(String s,int off,int len) throws IOException {
  if (bufferSize == 0) {
    writer.write(s,off,len);
    return;
  }
  int b=off, t=off + len;
  while (b < t) {
    int d=min(bufferSize - nextChar,t - b);
    s.getChars(b,b + d,cb,nextChar);
    b+=d;
    nextChar+=d;
    if (nextChar >= bufferSize)     if (autoFlush)     flushBuffer();
 else     bufferOverflow();
  }
}

public final void write ( String s , int off , int len ) throws IOException { if ( bufferSize == 0 ) { writer . write ( s , off , len ) ; return ; } int b = off , t = off + len ; while ( b < t ) { int d = min ( bufferSize - nextChar , t - b ) ; s . getChars ( b , b + d , cb , nextChar ) ; b += d ; nextChar += d ; if ( nextChar >= bufferSize ) if ( autoFlush ) flushBuffer ( ) ; else bufferOverflow ( ) ; } }
write a portion of a string .
