2010-12-15 62 views
3

我正在使用JavaComm,並從串口對象中獲取inputStream。我有一個問題,有時當系統啓動時,緩衝區中有我不想要的噪聲字符。我想初始化串口然後以某種方式刷新所有數據的輸入,然後開始處理。如何刷新Java串行InputStream?

有沒有辦法做到這一點?

TY 弗雷德

回答

5

一個「刷新()」方法,怎麼會知道什麼是垃圾,什麼是真實的數據?只有你知道,並且你的程序應該準備忽略領先的垃圾。

編輯:如果您可以絕對確定發送請求之前輸入緩衝區中的所有數據都是垃圾,那麼只需讀取,直到沒有更多輸入數據 - 即自己刷新它。

+0

我有一個特定的設備,只會在請求後向我發送回覆。因此,我可以在發送第一個請求之前刷新,從而保證緩衝區最初是空的 - 我想。 – 2010-12-15 21:20:02

+0

這是否表示您接受此答案? – 2010-12-15 21:22:37

+0

儘管InputStream基類似乎沒有flush方法。 – 2010-12-15 21:26:43

2

在向您的設備發送任何請求之前,請閱讀您所能做的一切。一旦沒有什麼可讀的,你可以開始發送請求。