private int readAvailable(byte[] bytes) throws IOException,InterruptedException{ int i = 0, a; boolean foundPrefix = false, foundSuffix = false; int ch = inputStream.read(); if(ch < 0)return ch; if (isPreSuffixEnabled) {//找前缀 if (ch != PREFIX) { while (inputStream.available() > 0) { if (inputStream.read() == PREFIX) { foundPrefix = true; break; } }
时间: 2024-02-10 19:19:44 浏览: 82
Blob、InputStream、byte 互转
4星 · 用户满意度95%
这段代码是接收线程中的一个方法,用于读取蓝牙设备发送的数据,并将数据存储到字节数组中。首先定义了一个变量i用于记录字节数组中已经存储的数据长度,以及一个变量a用于记录当前读取到的字节。接着定义了两个标志变量foundPrefix和foundSuffix,用于判断前缀和后缀是否被找到。然后读取输入流中的一个字节,并判断读取的字节是否小于0,如果小于0则表示输入流已经被关闭,返回读取到的字节数。如果启用了前后缀模式,则判断当前读取到的字节是否等于前缀,如果不等于,则循环读取输入流中的数据,直到找到前缀为止。如果找到了前缀,则将foundPrefix标志设置为true。这个方法可以在Android中用于读取蓝牙设备发送的数据,并处理前后缀模式。
阅读全文