Я пытаюсь сериализовать и десериализовать сообщения protobuf. Следуя примеру из documentation, я пишу:Буферы протоколов: чтение всех сериализованных сообщений из файла
ByteArrayOutputStream out = new ByteArrayOutputStream(...);
ArrayList<AddressBookProtos.Person> messages = ...;
for (int i = 0; i < messages.size; i++){
messages.writeTo(out);
out.flush();
}
out.close();
При чтении сообщения обратно, я бы ожидать, чтобы написать:.
ByteArrayInputStream in = new ByteArrayInputStream(...);
ArrayList<AddressBookProtos.Person> messages = new ArrayList<...>();
while (in.available() > 0) {
messages.add(AddressBookProtos.Person.parseFrom(in));
}
Однако, я всегда получаю только один результат обратно в Где другие результаты исчезли?