Java:如何使用NIO处理System.in输入流

6

能否使用NIO和System.in一起使用?

我想将“stdin”视为可选择的通道。有人找到了实现这一点的方法吗?

3个回答

2

我不清楚SelectableChannel的具体含义,但是你可以通过以下方式将InputStream转换成ReadableByteChannel

using java.nio.channels.Channels;

...

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

0
你可以创建一个 Pipe 和一个自定义线程来从标准输入读取并写入管道。
一旦你有了 Pipe,你就可以获取输入通道。

-1

2
我欣赏那个人在 SystemInPipe 中尝试做的事情,但它仍然不比生成一个守护线程来轮询好多少。问题是你无法中断该线程(永远)。 - Justin
4
这是一个典型的例子,说明在StackOverflow上主要回答链接的做法被强烈反对。由于指向javafaq.nu的链接已经失效,因此该回答毫无价值。 - Jim Garrison

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接