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