Trang này: http://blog.ostermiller.org/convert-java-outputstream-inputstream mô tả cách tạo InputStream từ OutputStream:
new ByteArrayInputStream(out.toByteArray())
Các lựa chọn thay thế khác là sử dụng PipedStreams và các luồng mới cồng kềnh.
Tôi không thích ý tưởng sao chép nhiều megabyte thành mới trong mảng byte bộ nhớ. Có thư viện nào làm điều này hiệu quả hơn không?
BIÊN TẬP:
Theo lời khuyên từ Laurence Gonsalves, tôi đã thử PipedStreams và hóa ra chúng không khó đối phó như vậy. Đây là mã mẫu trong 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))