Возможно ли использовать NIO с System.in?Java: используйте NIO с System.in
Я хотел бы как-то обработать 'stdin' как выбираемый канал. Кто-нибудь нашел способ сделать это?
Возможно ли использовать NIO с System.in?Java: используйте NIO с System.in
Я хотел бы как-то обработать 'stdin' как выбираемый канал. Кто-нибудь нашел способ сделать это?
дубликат:
How to get SelectableChannel from an InputStream?
хммм ... на второй мысли, для стандартного ввода может быть решением. Я нашел эту ссылку:
http://www.javafaq.nu/java-example-code-346.html
и, в частности:
SystemInPipe.java (класс, который инкапсулирует стандартный ввод в качестве выбираемого канала)
Я не знаю, о SelectableChannel
, но вы можете конвертировать InputStream
к ReadableByteChannel
с
using java.nio.channels.Channels;
...
ReadableByteChannel in = Channels.newChannel(System.in);
вы с ould создайте Pipe
и пользовательский поток для чтения со стандартного ввода и записи в трубу.
После того, как у вас есть Pipe
, вы можете получить входной канал.
Я ценю то, что этот парень пытается сделать в SystemInPipe, но его все еще не намного лучше, чем порождать поток демона, чтобы опросить его. Проблема в том, что вы не можете прервать этот поток (когда-либо). – Justin
Это классический пример того, почему ответы на вопросы, которые связаны прежде всего с ссылками, категорически не рекомендуется на StackOverflow. Ссылка на 'javafaq.nu' мертва, поэтому ответ бесполезен. –