Bu sayfa: http://blog.ostermiller.org/convert-java-outputstream-inputstream , OutputStream'den nasıl bir InputStream oluşturulacağını açıklar:
new ByteArrayInputStream(out.toByteArray())
Diğer alternatifler ise PipedStreams'i ve hantal olan yeni konuları kullanmaktır.
Birçok megabaytı bellek bayt dizisinde yeniye kopyalama fikrinden hoşlanmıyorum. Bunu daha verimli yapan bir kütüphane var mı?
DÜZENLE:
Laurence Gonsalves'ın tavsiyesiyle PipedStreams'i denedim ve başa çıkmanın o kadar da zor olmadığı ortaya çıktı. Clojure'daki örnek kod:
(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))