2013-04-21 178 views
1

我需要一個流(或東西),而我可以編寫和使用流閱讀,無論是從在Java程序中,這裏是一些例子:Java的自定義輸入輸出流

CustomStream stream = new CustomStream(); 

BufferedReader reader = new BufferedReader(new InputStreamReader(stream.getInputStream()); 
PrintWriter pw = new PrintWriter(stream.getOutputStream()); 

pw.println("Hello"); 
pw.println("World"); 

System.out.println(reader.readLine()); //Hello 
System.out.println(reader.readLine()); //World 

想這是很弱智例子,但有沒有辦法做到這一點,除了實現抽象Stream類中的所有方法?

回答

3

這聽起來像你正在尋找一個Java對象Pipe

http://docs.oracle.com/javase/6/docs/api/java/nio/channels/Pipe.html

的接口是接近你上面有什麼建議。請注意,PipedInputStreamPipedOutputStream類將使管道更易於連接。

對於某些應用程序,CircularBuffer類可能足以節省一點打字,但它本質上是做同樣的事情。

+0

有趣,我會研究它,謝謝。 – kajacx 2013-04-21 19:38:03