I don't think so, because `CharBuffer` needs to be allocated upfront with a max capacity (I didn't see anywhere in the docs that said the capacity could grow), and the reader doesn't provide an interface to look up the size of its source. :(