1

我想从InputStream()字符串中获取数据,例如。嗨,开始,停止等。

我的代码片段是

byte[] buffer = new byte[1024];
inputStream.read(buffer);

我的数据是从蓝牙发送的命令。上面的代码片段只得到(例如,如果我发送 Hi,则为 2,如果发送 Start,则为 5),我想从 Sender 端取回相同的 Normal String。

我发现只有从 String 转换为InputStream. 任何建议,我都将不胜感激!

4

2 回答 2

1

最后,我可以解决这个问题!inputStream.read(缓冲区);仅返回缓冲区中有多少字节的 int num,并且来自套接字的数据存储在缓冲区中。因此,您可以从缓冲区中制作字符串,例如。字符串结果 = 新字符串(缓冲区);

于 2012-07-13T04:49:28.333 回答
1

最简单的方法是通过Apache common-io 库

String input = IOUtils.toString(inputStream);

有关更多信息,请参阅此方法的 javadoc

于 2012-07-13T05:02:43.323 回答