public CharBuffer put(String str,int start,int end){
  if (isReadOnly()) {
    throw new ReadOnlyBufferException();
  }
  if (start < 0 || end < start || end > str.length()) {
    throw new IndexOutOfBoundsException("str.length()=" + str.length() + ", start="+ start+ ", end="+ end);
  }
  if (end - start > remaining()) {
    throw new BufferOverflowException();
  }
  for (int i=start; i < end; i++) {
    put(str.charAt(i));
  }
  return this;
}

public CharBuffer put ( String str , int start , int end ) { if ( isReadOnly ( ) ) { throw new ReadOnlyBufferException ( ) ; } if ( start < 0 || end < start || end > str . length ( ) ) { throw new IndexOutOfBoundsException ( "str.length()=" + str . length ( ) + ", start=" + start + ", end=" + end ) ; } if ( end - start > remaining ( ) ) { throw new BufferOverflowException ( ) ; } for ( int i = start ; i < end ; i ++ ) { put ( str . charAt ( i ) ) ; } return this ; }
writes chars of the given string to the current position of this buffer , and increases the position by the number of chars written .
