Java:将 NIO 与 System.in 一起使用
是否可以将 NIO 与 System.in 一起使用?
我想以某种方式将“stdin”视为可选择的通道。有没有人找到办法做到这一点?
Is it possible to use NIO with System.in?
I would like to somehow treat 'stdin' as a selectable channel. Has anyone found a way to do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我不知道
SelectableChannel
,但您可以将InputStream
转换为ReadableByteChannel
I don't know about a
SelectableChannel
, but you can convert anInputStream
to aReadableByteChannel
with您可以创建一个
Pipe
和一个自定义线程来从标准输入读取和写入到管道。一旦你有了
Pipe
,你就可以获得输入通道。You could create a
Pipe
and a custom thread to read from standard input and write to the pipe.Once you have the
Pipe
you can then get the input channel.重复:
如何从 InputStream 获取 SelectableChannel?
嗯...再想一想,对于 stdin 可能有一个解决方案。我找到了这个参考:
http://www.javafaq.nu/java-example -code-346.html
特别是:
SystemInPipe.java< /a> (将 stdin 封装为可选通道的类)
duplicate:
How to get SelectableChannel from an InputStream?
hmmm... on second thought, for stdin there may be a solution. I found this reference:
http://www.javafaq.nu/java-example-code-346.html
and in particular:
SystemInPipe.java (class which encapsulates stdin as a selectable channel)