来自 InputStream 的编年史字节

Chronicle Bytes from InputStream

我正在尝试使用萨克斯管将 json 动态解析为 protobuf 消息,并希望避免为每个响应创建字符串实例。

为此,我需要从 InputStream(由 apache http 实体提供)创建 Bytes 实例。

我正在挖掘资源有一段时间了,但找不到方法...有什么建议吗?

有两种方法可以做到这一点。

// reuse a string builder if the String cannot be pooled easily
stringBuilder.setLength(0);
bytes.parseUTF(stringBuilder, StopCharTesters.ALL);

或者您可以使用内置的字符串池

String s = bytes.parseUTF(StopCharTesters.ALL);

如果可能的字符串数量相对较少(至少在大多数情况下),这会很有效