Я очень сомневаюсь, что вы получите исключение - я ожидаю, что вы получите его в parseFrom
.Не могли бы вы опубликовать полную трассировку стека вместо первых трех строк?
Я сильно подозреваю, что у вас в основном поврежденный файл.Тот факт, что вы дали расширение .txt
для того, что должно быть бинарным файлом, несколько подозрительно ... как этот файл на самом деле выглядит?Вы не используете parseFrom
таким образом, чтобы проанализировать ASCII-представление сообщения protobuf. * 1010 *
РЕДАКТИРОВАТЬ: Согласно вопросу, связанному в комментарии, вы пытаетесь проанализировать текст файл с использованием метода, предназначенного для двоичных данных.
Вы хотите использовать что-то вроде:
// Use the normal try/finally for closing reliably
InputStreamReader reader = new InputStreamReader(fis, "ASCII");
Nt.Builder builder = Nt.newBuilder();
TextFormat.merge(reader, builder);
Nt nt = builder.build();