Java:将 NIO 与 System.in 一起使用

发布于 2024-08-14 12:01:41 字数 81 浏览 3 评论 0原文

是否可以将 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

恋竹姑娘 2024-08-21 12:01:41

我不知道 SelectableChannel,但您可以将 InputStream 转换为 ReadableByteChannel

using java.nio.channels.Channels;

...

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

I don't know about a SelectableChannel, but you can convert an InputStream to a ReadableByteChannel with

using java.nio.channels.Channels;

...

ReadableByteChannel in = Channels.newChannel(System.in);
浸婚纱 2024-08-21 12:01:41

您可以创建一个 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.

谈情不如逗狗 2024-08-21 12:01:41

重复:

如何从 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)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文