我正在开发一个用于发出基本HTTP请求(GET,POST,PUT和DELETE)的Java包。现在,我只是打印请求的输出。我想将它存储在一个字段中,但我不确定String是否支持大量文本。是否存在大量文本的数据类型,或者是否有合理的替代方案?现在,因为我只是打印它,我不能对返回的数据做任何事情(比如解析它,如果它是JSON)。
任何想法都会有所帮助。
编辑:代码在线on GitHub。
答案 0 :(得分:11)
字符串最多可占用2 ^ 31 - 1个字符,所以我怀疑它足够大。来自SO question
的数据答案 1 :(得分:2)
我发现您在代码中使用了BufferedReader
。您可以将字符串保留在那里并将该阅读器传递给您的JSON解析器。比首先创建一个字符串更有效。
答案 2 :(得分:0)
如果要对数据执行一组操作,则可以通过管道对其进行流式处理,甚至不会将整个数据存储在内存中。它还可以提高性能,因为工作可以从第一个字符开始,而不是在收到最后一个字符之后。查看CharSequence。