2013-04-21 3 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 

Guess это довольно отсталый пример , но есть ли способ сделать это, за исключением реализации всех методов из абстрактного класса Stream?

ответ

3

Похоже, что вы ищете Java Pipe объекта

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

Интерфейс близок к тому, что вы предлагаете выше. Обратите внимание, что классы PipedInputStream и PipedOutputStream упростят взаимодействие с трубой.

Для некоторых приложений класс CircularBuffer может быть достаточным и сэкономить на небольшом наборе текста, но он по сути делает то же самое.

+0

Интересно, я посмотрю, спасибо. – kajacx