このページ:http://blog.ostermiller.org/convert-java-outputstream-inputstream は、OutputStreamからInputStreamを作成する方法を説明しています。
new ByteArrayInputStream(out.toByteArray())
他の選択肢は、面倒なPipedStreamsと新しいスレッドを使用することです。
何メガバイトも新しいメモリバイト配列にコピーするという考えは好きではありません。これをより効率的に行うライブラリはありますか?
編集:
Laurence Gonsalvesからのアドバイスにより、PipedStreamsを試してみましたが、それほど難しくはないことがわかりました。clojureのサンプルコードは次のとおりです。
(defn #^PipedInputStream create-pdf-stream [pdf-info]
(let [in-stream (new PipedInputStream)
out-stream (PipedOutputStream. in-stream)]
(.start (Thread. #(;Here you write into out-stream)))
in-stream))