Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从字节数组序列中读取行_Java_Arrays_Bluetooth Lowenergy_Byte - Fatal编程技术网

Java 从字节数组序列中读取行

Java 从字节数组序列中读取行,java,arrays,bluetooth-lowenergy,byte,Java,Arrays,Bluetooth Lowenergy,Byte,我从蓝牙BLE接收数据,最多250字节块,如下所示 onDataReceived(byte[] data) { my_readline(); // <-- how could I implement this } onDataReceived(字节[]数据){ my_readline();//您可以使用ByteArrayInputStream执行此操作,并将其转换为BufferedReader。虽然它应该可以工作,但它不是很干净 InputStream inputStrea

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

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

my_readline();//您可以使用ByteArrayInputStream执行此操作,并将其转换为BufferedReader。虽然它应该可以工作,但它不是很干净

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

可以将字节数组转换为字符串

String inputStr = new String(data, "UTF-8");
如果要转换为InputStream

InputStream dataInputStream = new ByteArrayInputStream(data); 

java的管道式I/O可能使用两个线程。在中找到了相关的内容。对于错误的InputStream块onDataReceived,Synchronized将进行同步。其中一个将需要轮询(isAvailable)。如何将连续提交的数据字节数组添加到ByteArrayInputStream?据我所知,这是不可能的。您只能在将所有数据放在一起后才能处理数据。如何从inputStr读取行以及如何将新字节数组添加到inputStr如果要添加新字节,可以使用StringBuilder并附加字符串。希望对你有帮助。