【问题标题】:Java/Android- Convert InputStream to string [duplicate]Java / Android-将InputStream转换为字符串[重复]
【发布时间】:2018-11-05 04:08:18
【问题描述】:

我正在通过蓝牙读取来自设备的恒定数据流。我想知道如何将这些数据转换为字符串并打印出来? 缓冲区将包含一个 ASCII 字符串,但是当我运行它时,它会打印出整数,我希望能够看到该字符串。

 while (true) {
                try {
                    //read the data from socket stream
                    if(mmInStream != null) {
                       int input = mmInStream.read(buffer);

                       System.out.println(input);
                    }
                    // Send the obtained bytes to the UI Activity
                } catch (IOException e) {
                    //an exception here marks connection loss
                    //send message to UI Activity
                    break;
                }
            }

【问题讨论】:

  • 您应该首先打印该缓冲区的内容。此外,您应该告诉我们阅读的内容。缓冲区将包含什么?

标签: java android bluetooth stream inputstream


【解决方案1】:

你可以试试这个。

public String isToString(InputStream is) {
        final int bufferSize = 1024;
        final char[] buffer = new char[bufferSize];
        final StringBuilder out = new StringBuilder();
        Reader in = new InputStreamReader(inputStream, "UTF-8");
        for (; ; ) {
            int rsz = in.read(buffer, 0, buffer.length);
            if (rsz < 0)
                break;
            out.append(buffer, 0, rsz);
        }
        return out.toString();
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-28
    • 2013-08-31
    • 2010-12-18
    • 2010-10-21
    • 2017-04-21
    • 2014-01-07
    • 2016-07-07
    相关资源
    最近更新 更多