【发布时间】:2017-01-10 18:03:35
【问题描述】:
如何在 Clojure 中检测非空标准输入 (*in*) 而不以非阻塞方式读取它?
一开始,我以为使用java.io.Reader#ready() 方法调用就可以了,但是即使提供了标准输入,(.ready *in*) 也会返回false。
【问题讨论】:
-
你会如何在 Java 中做到这一点?然后,您可以只使用 Java 互操作。
-
我也寻找过 Java 解决方案,但可惜没有找到。
-
这个用例是什么?最简单的答案是使用一个单独的线程,只做阻塞读取。
-
用例是检测程序是否在标准输入上提供了一些数据。如果是这种情况,则程序读取提供的数据,否则继续。