2009-12-16 2 views

ответ

1

дубликат:

How to get SelectableChannel from an InputStream?

хммм ... на второй мысли, для стандартного ввода может быть решением. Я нашел эту ссылку:

http://www.javafaq.nu/java-example-code-346.html

и, в частности:

SystemInPipe.java (класс, который инкапсулирует стандартный ввод в качестве выбираемого канала)

+2

Я ценю то, что этот парень пытается сделать в SystemInPipe, но его все еще не намного лучше, чем порождать поток демона, чтобы опросить его. Проблема в том, что вы не можете прервать этот поток (когда-либо). – Justin

+0

Это классический пример того, почему ответы на вопросы, которые связаны прежде всего с ссылками, категорически не рекомендуется на StackOverflow. Ссылка на 'javafaq.nu' мертва, поэтому ответ бесполезен. –

4

Я не знаю, о SelectableChannel, но вы можете конвертировать InputStream к ReadableByteChannel с

using java.nio.channels.Channels; 

... 

ReadableByteChannel in = Channels.newChannel(System.in); 
0

вы с ould создайте Pipe и пользовательский поток для чтения со стандартного ввода и записи в трубу.

После того, как у вас есть Pipe, вы можете получить входной канал.