我试图通过垃圾邮件发送来自Arduino的测试消息" hello world!"每100毫秒。 现在,在Android上,我已经无休止地添加了#34; hello world!"我的StringBuilder和每个调试迭代都有" hello world!\ nhello world!\ nhello world!\ n ..."等等 我该怎么办? 作为一个想法,我会将很多Jsons从arduino垃圾邮件发送到Android设备。在arduino的每条消息之后,我是否必须为分隔符制作一些特殊的字符序列?或者是否有更简单的决定?
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();
}
答案 0 :(得分:0)
您没有检查流的结尾。
编写该读取循环的正确方法是:
while ((line = br.readLine()) != null)
{
total.append(line).append('\n');
}
但如果数据无穷无尽,即使有一个循环也没有意义。只需返回br.readLine()
。拥有这种方法甚至没有意义。
注意:您不需要分配字节数组来确定其长度。