【问题标题】:Convert Instream to String Faster (Android)?更快地将 Instream 转换为字符串 (Android)?
【发布时间】:2011-07-14 20:42:55
【问题描述】:

我现在如何快速将 Instream 转换为字符串。

private static String convertStreamToString(InputStream is) {
    /*
     * To convert the InputStream to String we use the BufferedReader.readLine()
     * method. We iterate until the BufferedReader return null which means
     * there's no more data to read. Each line will appended to a StringBuilder
     * and returned as String.
     */
    BufferedReader reader = new BufferedReader(new InputStreamReader(is));
    StringBuilder sb = new StringBuilder();

    String line = null;
    try {
        while ((line = reader.readLine()) != null) {
            sb.append(line + "\n");
        }
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        try {
            is.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    return sb.toString();
}

但这在模拟器上至少需要 2-3 分钟。我发现如果我将 instream 转换为字节数组然后转换为字符串会更快?有人知道吗?

【问题讨论】:

  • @Philip 我该怎么做?

标签: java javascript android


【解决方案1】:

改用 ByteArrayOutputStream。

【讨论】:

  • 这个工作响应 = httpclient.execute(httpget); if(response.getStatusLine().getStatusCode() == 200){ // 连接已建立。获取内容。 ByteArrayOutputStream i = (ByteArrayOutputStream) response.getEntity();
猜你喜欢
  • 2016-01-08
  • 2015-04-03
  • 2015-04-09
  • 1970-01-01
  • 2015-06-19
  • 1970-01-01
  • 2016-07-29
  • 2013-05-14
相关资源
最近更新 更多