higher order streams would not take string buffer as an argument, they are particular about what they take as an argument, and normally take lower order streams, like a bufferedinputstream would take a fileinputstream
It is not clear what do you mean by passing StringBuffer as an argument. If you mean passing StringBuffer to constructor for creating streams then, there are two classes StringBufferInputStream (Deprecated) and StringReader. But both of them take String as an argument. HTH, Paul.