首页 > 解决方案 > 从字节数组序列中读取行

问题描述

我最多以 250 字节的块从蓝牙 BLE 接收数据,如下所示。

onDataReceived(byte[] data) {
  my_readline();  // <-- how could I implement this
}

数据是字符串但已分块。那么从传入字节数组中检测行的正确方法是什么。或者如果可以将接收到的数据也转换为 inputStream 也很好。

标签: javaarraysbluetooth-lowenergybyte

解决方案


你可以用一个 ByteArrayInputStream 来做,然后把它变成一个 BufferedReader。尽管它应该可以工作,但它不是很干净。

    InputStream inputStream = new ByteArrayInputStream(data);
    BufferedReader buffReader = new BufferedReader(new InputStreamReader(inputStream));

推荐阅读