【问题标题】:How do you flush a Java serial InputStream?如何刷新 Java 串行 InputStream?
【发布时间】:2010-12-15 21:16:09
【问题描述】:

我正在使用 JavaComm,并从串行端口对象获取 inputStream。我有一个问题,有时当系统启动时,缓冲区中有我不想要的噪声字符。我想初始化串行端口,然后在开始处理之前以某种方式刷新所有数据的输入。

有什么办法吗?

TY 弗雷德

【问题讨论】:

    标签: java serial-port flush


    【解决方案1】:

    “flush()”方法如何知道什么是垃圾,什么是真实数据?只有你知道,你的程序应该准备好忽略前导垃圾。

    编辑:如果您可以绝对确定在发送请求之前输入缓冲区中的所有数据都是垃圾,那么只需读取直到没有更多输入数据 - 即自己刷新它。

    【讨论】:

    • 我有一台设备,它只会在请求后向我发送响应。因此,我可以在发送第一个请求之前刷新,从而保证缓冲区最初是空的 - 我认为。
    • InputStream 基类似乎没有flush方法。
    【解决方案2】:

    在向您的设备发送任何请求之前,请先阅读所有内容。一旦没有内容可读,您就可以开始发送请求了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-18
      • 2011-11-24
      • 1970-01-01
      • 2010-12-18
      • 2010-10-21
      • 2013-10-29
      • 2023-04-02
      相关资源
      最近更新 更多