Хроника байтов от InputStream
Я пытаюсь использовать саксофон для синтаксического анализа json-протобуф сообщений на лету, и хочу избежать создания строковых экземпляров для каждого ответа.
Для этого мне нужно создать экземпляр Bytes из InputStream (который предоставляется из Apache http entity).
Я копаю источники некоторое время, но не могу найти способ сделать это... какие-нибудь предложения?
1 ответ
Решение
Есть два способа сделать это.
// reuse a string builder if the String cannot be pooled easily
stringBuilder.setLength(0);
bytes.parseUTF(stringBuilder, StopCharTesters.ALL);
или вы можете использовать встроенный пул String
String s = bytes.parseUTF(StopCharTesters.ALL);
Это будет хорошо работать, если имеется относительно небольшое количество возможных строк (по крайней мере, большую часть времени)