Java:将NIO与System.in一起使用
可以将NIO与System.in一起使用吗 我想以某种方式将“stdin”视为一个可选频道。有人找到了这样做的方法吗 重复: 嗯。。。再想一想,对于stdin可能有一个解决方案。我发现这个参考: 特别是:Java:将NIO与System.in一起使用,java,nio,system.in,Java,Nio,System.in,可以将NIO与System.in一起使用吗 我想以某种方式将“stdin”视为一个可选频道。有人找到了这样做的方法吗 重复: 嗯。。。再想一想,对于stdin可能有一个解决方案。我发现这个参考: 特别是: (将stdin封装为可选通道的类)我不知道SelectableChannel,但您可以使用将InputStream转换为ReadableByteChannel using java.nio.channels.Channels; ... ReadableByteChannel in =
(将stdin封装为可选通道的类)我不知道
SelectableChannel
,但您可以使用将InputStream
转换为ReadableByteChannel
using java.nio.channels.Channels;
...
ReadableByteChannel in = Channels.newChannel(System.in);
您可以创建一个线程和一个自定义线程来读取标准输入并写入管道
一旦你有了
管道
,你就可以得到输入通道。我很欣赏那个家伙在SystemInPipe中所做的一切,但这仍然不比产生一个守护进程线程来轮询它好多少。问题是你们不能中断那个线程(永远)。这是一个典型的例子,说明为什么在StackOverflow上强烈反对以链接为主的答案。指向javafaq.nu
的链接已失效,因此答案一文不值。