如何转换InputStream.read(new byte [1024]);字符串?

时间:2012-07-12 04:17:23

标签: java inputstream

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

我的代码片段是

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

我的数据是从蓝牙发送的命令。 上面的代码片段只能得到(例如,如果我发送了Hi,则为2,如果发送为Start,则为5),我希望从发送方获取相同的Normal String。

我发现只能从String转换为InputStream。 任何建议,我都要感激!

2 个答案:

答案 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

相关问题