我想从InputStream()
获取数据作为字符串,例如。嗨,开始,停止等等。
我的代码片段是
byte[] buffer = new byte[1024];
inputStream.read(buffer);
我的数据是从蓝牙发送的命令。 上面的代码片段只能得到(例如,如果我发送了Hi,则为2,如果发送为Start,则为5),我希望从发送方获取相同的Normal String。
我发现只能从String转换为InputStream
。
任何建议,我都要感激!
答案 0 :(得分:1)
最后,我可以解决这个问题! inputStream.read(缓冲液);只返回缓冲区中有多少字节的int数,并且来自套接字的数据存储在缓冲区中。所以,从缓冲区你可以创建String 例如。 String result = new String(buffer);
答案 1 :(得分:1)
最简单的方法是通过Apache common-io library:
String input = IOUtils.toString(inputStream);
有关详情,请参阅javadoc for this method。