java - 从字节数组序列中读取行
问题描述
我最多以 250 字节的块从蓝牙 BLE 接收数据,如下所示。
onDataReceived(byte[] data) {
my_readline(); // <-- how could I implement this
}
数据是字符串但已分块。那么从传入字节数组中检测行的正确方法是什么。或者如果可以将接收到的数据也转换为 inputStream 也很好。
解决方案
你可以用一个 ByteArrayInputStream 来做,然后把它变成一个 BufferedReader。尽管它应该可以工作,但它不是很干净。
InputStream inputStream = new ByteArrayInputStream(data);
BufferedReader buffReader = new BufferedReader(new InputStreamReader(inputStream));
推荐阅读
- c# - ASP.NET Core MVC 已将文件上传到某些类别
- python - 如何使用 tkinter 在应用程序中嵌入浏览器窗口
- powershell - 使用 powershell 模拟 ESC 按钮点击
- spring-boot - 如何@SpringBootTest()一个@DependsOn()另一个bean的类
- mysql - pyspark 中的持久增量计数器
- python - 我使用 python 子进程在 Ubuntu 18 中输入密码,但在终端中它打开了输入
- istio - Istio ServiceEntry 作为虚拟主机和 VirtualService 可能吗?
- c# - 如何将我的整体查询分解为更模块化和更易于管理的组件?
- bash - Talend Sqoop 将我的自由形式查询拆分为不同的变量
- docker - docker 备份是否包含来自 .env 文件的环境变量?