首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将大型JSON (InputStream)放入字符串时出现内存不足错误

将大型JSON (InputStream)放入字符串时出现内存不足错误
EN

Stack Overflow用户
提问于 2011-04-30 21:55:49
回答 1查看 14.5K关注 0票数 17

我从web服务收到gziped的JSON,然后解压缩(解压的JSON的大小是3.2MB)。我需要将接收到的InputStream转换为字符串,这样我就可以创建JSONObject并解析它。我用下面的代码来实现:

代码语言:javascript
复制
public static String InputStreamToString(InputStream in) 
    throws IOException {

    BufferedInputStream bis = new BufferedInputStream(in);
    ByteArrayOutputStream buf = new ByteArrayOutputStream();
    int result = bis.read();

    while(result != -1) {
      byte b = (byte)result;
      buf.write(b);
      result = bis.read();
    }        
    return buf.toString();
}

在具有288MB Ram的模拟器和设备上,我在最后一行收到了java.lang.OutOfMemoryError:"return buf.toString();“。

怎么办?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5842201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档