यह पृष्ठ: http://blog.ostermiller.org/convert-java-outputstream-inputstream वर्णन करता है कि आउटपुटस्ट्रीम से एक इनपुटस्ट्रीम कैसे बनाया जाए:
new ByteArrayInputStream(out.toByteArray())
अन्य विकल्प पाइपेडस्ट्रीम और नए थ्रेड्स का उपयोग करना है जो बोझिल है।
मुझे मेमोरी बाइट सरणी में कई मेगाबाइट को नए में कॉपी करने का विचार पसंद नहीं है। वहाँ एक पुस्तकालय है कि यह और अधिक कुशलता से करता है?
संपादित करें:
लॉरेंस गोंसाल्वेस की सलाह से, मैंने पिपेडस्ट्रीम की कोशिश की और यह पता चला कि वे इससे निपटने के लिए उतने कठिन नहीं हैं। यहाँ क्लोजर में नमूना कोड है:
(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))