5

シリアル ポートからデータを読み取るために、inputStream を使用BufferedReaderし、inputStream に使用しています。読むたびに、をクリアしたいと思いBufferedReaderます。クラスの下BufferedReaderには明確なメソッドはありません。使ってみましreset()たがダメでした。この問題について何か提案するオタクはいますか?

4

2 に答える 2

8

読みやすさのために-これはコメントに投稿したコードです(strの定義を追加して)

DataInputStream inStream = null;
String str = null; 
BufferedReader bufRd = new BufferedReader(new InputStreamReader(inStream)); 
while((str = bufRd.readLine()) != null){ 
  System.out.println(str); 
}

はい、うまくいくはずです。Stream または Streamreader を「クリア」または「リセット」する必要はありません。リーダーから読んだものはすべて「そこから取られた」ものであり、次の読み取りで再び表示されることはありません。

そのため、実際にアイテムがリーダーに再表示される場合 (そしてリーダー自体を「カスタマイズ」していない場合) は、データ ソースが同じデータを何度も送信している可能性が最も高いです。そのエリアにチェックインします。

于 2009-12-02T08:27:38.400 に答える