Java 从字节数组序列中读取行
我从蓝牙BLE接收数据,最多250字节块,如下所示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
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并附加字符串。希望对你有帮助。