如何检查输入流是否包含数据?

时间:2009-08-13 09:31:35

标签: java serial-port

我正在使用javax.comm包对SerialPort执行读写操作。

我在{; 1}}中创建了InputStream类型的对象;

我的问题是......

  1. 无论InputStream上的数据是否可用,SerialPort始终返回零,因此我无法确定字节是否可用。
  2. 如果我直接使用in.available(),它似乎会永远阻止执行..

2 个答案:

答案 0 :(得分:4)

SerialPort的InputStream的行为是documented in the API。它描述了如何设置阈值和超时值以影响流的阻塞行为。

答案 1 :(得分:0)

我已经使用java comm做了很多应用程序,并且当有准备好读入的字节时,available()返回0时没有问题。你可能想确保你的波特率,奇偶校验,流量控制等是一切都正确。

没有理由搞乱阻塞的超时值。