所以現在我有一堆模塊。這就像一條裝配線。有數據流過,每個模塊都會處理數據,也可以說下一個模塊會消耗前一個模塊產生的輸出。每個模塊都有望成爲獨立且可重用的模塊。這是我想的一個典型場景。使用InputStream/OutputStream處理通過模塊的數據流
所以最初我將每個模塊的接口設計爲模塊(InputStream是OutputStream os)。所以它可以將文件,無論來源,作爲輸入和輸出。當你想到數據流時,前一個模塊的輸出流將進入下一個模塊的輸入流。但後來我意識到Java甚至沒有從OutputStream到InputStream的直觀/簡單的方法。 (注:這個問題是不是關於如何實現這一目標對於那些誰是有興趣, How to convert OutputStream to InputStream?。)
在我看來,可能的OutputStream/InputStream中並不意味着這樣的目的。 那麼在這種情況下,設計處理數據流的接口的最佳方式是什麼?
是的,我的情況非常像module1解析,模塊2壓縮和模塊3加密。分塊數據使其適合ConcurrentLinkedQueues或BlockingQueues模式沒有意義。這一切都是按順序發生的。簡單,因爲它不涉及併發。 – kakacii 2013-05-01 04:32:51
我肯定會聽到並瞭解更多信息,但到目前爲止,我認爲InputStream/OutputStream設計的很糟糕。這將是處理數據接口的一種很好且清晰的方式。 – kakacii 2013-05-01 04:35:14
您可以使用[IOUtils](http://commons.apache.org/proper/commons-io/apidocs/org/apache/commons/io/IOUtils.html)中的'copy'方法解決此問題,例如[將inputstream複製到outputstream](http://commons.apache.org/proper/commons-io/apidocs/org/apache/commons/io/IOUtils.html#copy%28java.io.InputStream,%20java.io。 OutputStream%29) – 2013-05-01 04:51:18