有人可以解释如何我可以得到一个文件对象,如果我只有一个ByteArrayOutputStream 。 如何从ByteArrayOutputStream创build文件?
本页面: http : //blog.ostermiller.org/convert-java-outputstream-inputstream描述如何从OutputStream创build一个InputStream: new ByteArrayInputStream(out.toByteArray()) 其他的select是使用PipedStreams和新的线程,这是很麻烦的。 我不喜欢将很多兆字节复制到内存中的新字节数组的想法。 有没有更高效的图书馆? 编辑: 从Laurence Gonsalves的build议,我尝试了PipedStreams,事实certificate他们并不难处理。 以下是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))