이 페이지 : 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))