2009-12-16 41 views

回答

1

重复:

How to get SelectableChannel from an InputStream?

嗯......再一想,对标准输入有可能是一个解决方案。我发现这个参考:

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

,特别是:

SystemInPipe.java(类封装了标准输入作为一个可选择通道)

+2

我很欣赏那个人在SystemInPipe中试图做的事情,但它仍然没有比产生守护线程更好的轮询它。问题是你不能打断那个线程(永远)。 – Justin 2010-04-03 23:57:35

+0

这是一个经典的例子,说明为什么主要链接的答案在StackOverflow上被强烈阻止。到javafaq.nu的链接已经死了,所以答案是毫无价值的。 – 2016-07-15 17:54:08

4

我不知道一个SelectableChannel,但你可以转换一个InputStreamReadableByteChannel

using java.nio.channels.Channels; 

... 

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

你ç应该创建一个Pipe和一个自定义线程从标准输入读取并写入管道。

一旦你有了Pipe,你就可以得到输入通道。