Java 丢弃缓冲读取器中的数据
我正在使用rxtx库通过串口将传感器数据从arduino发送到java程序。问题是新值被快速推送到BufferedReader中,我无法实时处理这些值。我不再使用基于事件的实现,而是每100毫秒轮询一次,并希望丢弃其间的所有值 是否有可能在不知道必须跳过多少字节的情况下清除缓冲读取器?在缓冲区准备就绪时调用readline的while循环似乎非常乏味,我不确定它是否足够快 可以从缓冲读取器中读取一个值,等待100毫秒,然后再次读取最旧的值。另一种可能是限制arduino发送数据的速度,但这是我最不喜欢的方法,因为将来我可能会依赖更高的速度 在缓冲区准备就绪时调用readline的while循环似乎非常乏味,我不确定它是否足够快 java运行的计算机有多慢,这与您的速度有关?PC通常比Arduino上的串行线路快几个数量级 另一种可能是限制arduino发送数据的速度,但这是我最不喜欢的方法,因为将来我可能会依赖更高的速度Java 丢弃缓冲读取器中的数据,java,arduino,rxtx,Java,Arduino,Rxtx,我正在使用rxtx库通过串口将传感器数据从arduino发送到java程序。问题是新值被快速推送到BufferedReader中,我无法实时处理这些值。我不再使用基于事件的实现,而是每100毫秒轮询一次,并希望丢弃其间的所有值 是否有可能在不知道必须跳过多少字节的情况下清除缓冲读取器?在缓冲区准备就绪时调用readline的while循环似乎非常乏味,我不确定它是否足够快 可以从缓冲读取器中读取一个值,等待100毫秒,然后再次读取最旧的值。另一种可能是限制arduino发送数据的速度,但这是我最
也许是最好的选择。如果以后需要更高的速度,请更新Arduino上的代码 电脑似乎不是问题。ArduinoIDE的串行监视器工作正常,但将这些值发送到java是问题的开始。今天晚些时候回家后,我将尝试while循环解决方案。我只是觉得应该有一个我没想到的更好的解决方案。谢谢。while循环解决了这个问题。似乎依赖事件侦听器产生了瓶颈。