"hello world!"스팸으로 블루투스를 통해 Arduino에서 테스트 메시지를 보내려고합니다. 매 100ms마다. 이제 안드로이드에 "hello world!"가 끝없이 추가되었습니다! 내 StringBuilder 및 각 디버그 반복 "hello world! \ nhello world! \ nhello world! \ n ..."등 어떻게해야합니까? 아이디어로 나는 arduino에서 Android 장치에 많은 Jsons를 스팸합니다. arduino의 각 메시지가 끝난 후 분할자를위한 특수 문자 시퀀스를 만들어야합니까? 아니면 더 간단한 결정이 있습니까?BufferedReader가 readLine()에 끊임없이 추가합니다.
public static String toString(InputStream inputStream) throws IOException {
byte[] bs = new byte[inputStream.available()];
if (Utils.isZero(bs.length)) {
return "";
}
BufferedReader r = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder total = new StringBuilder();
String line;
while (r.ready()) {
line = r.readLine();
total.append(line).append('\n');
}
return total.toString();
}
"잠시 휴식"이란 무엇을 의미합니까? "분할기"? 지금은 여러 줄의 텍스트가 포함 된'StringBuilder' (https://docs.oracle.com/javase/8/docs/api/java/io/StringWriter.html이 아닌)가 있습니다. , 왜 그것을 바꿀까요? 또한 'line'의 범위를 루프 안에 유지해야합니다. 밖에는 너무 넓습니다. 나는 간결성을 위해 클로즈드 또는 예외 처리가 없다고 생각한다. 'available()'의 사용은 불필요하며 조금 위험합니다. 바이트와 문자를 혼합하는 것은 위험합니다. 네가 싫어하는 지금 네가 가진 것에 대해 뭐라 구요? –
StringBuilderObj.setLength (0) 당신이하려는 일이 무엇인지 밝혀야합니다. 당신의 문제는 매우 모호합니다. – DarkV1
나는 arduino의 스팸 메시지를 말했고 그것은 끝이없는 InputStream입니다. 끝이 없다. 항상 추가하고 추가하고 추가합니다. 그것은 결코 끝나지 않을 것입니다. – user2976267