gpt4 book ai didi

java - 如何知道何时停止 InputStream 缓冲

转载 作者:行者123 更新时间:2023-12-02 07:23:40 26 4
gpt4 key购买 nike

我通过串行端口与设备通信。

我已成功获取 InputStream 并读取设备发送的内容。

但问题是,我根本不知道何时停止阅读并继续执行另一项任务。

这是简化的代码:

inputStream = serialPort.getInputStream();
try
{
int step = 0;
while ( (len = inputStream.read(buffer)) > -1 )
{
//do something
}
System.out.println("END");
}
catch ( IOException e )
{
throw new Exception("IO Error");
}

它从未成功到达“END”。即使设备没有发送任何内容,它也会继续循环。当设备停止发送时如何停止循环。

最佳答案

 inputStream = serialPort.getInputStream();
int available = inputStream .available();

if (available > 0) {
byte data[] = new byte[available];
inputStream .read(data);

}else{
logger.info("data is not avilable");
}

关于java - 如何知道何时停止 InputStream 缓冲,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13836517/

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