gpt4 book ai didi

java - 输入流到选择器的 channel

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:49:26 25 4
gpt4 key购买 nike

我到处搜索,但找不到关于我的 NIO 问题的明确、最新的答案。

有什么方法可以将 InputStream 转换为可以与 Selector 一起使用的 Channel 吗?似乎 Channels.newChannel() 是进行转换的唯一方法,但没有提供 AbstractSelectableChannel 的实例,而这正是我所需要的。

更具体地说,我想从子进程的 stdoutstderr 流中读取数据,而无需为每个流创建一个线程,这似乎是唯一的方法用纯Java来做。由于这些流使用管道来回传递 I/O,我很惊讶 .newChannel 没有返回 Pipe.SourceChannel,它是 的子类>AbstractSelectableChannel.

我正在使用 Java 7(尽管如果 8 中有新功能可用,我仍然很乐意得到答案)。

编辑:我还尝试将 .newChannel() 的结果转换为可选择的 channel ,但无济于事 - 它不是可选择的 channel 。

最佳答案

没有办法按照您的要求进行操作,但您不需要每个流都有一个线程。只需将流与为此目的提供的 API 合并,并读取当前线程中的输出。

关于java - 输入流到选择器的 channel ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21419206/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com