我有一个文件“test.txt”,其中包含每行使用testMessage.writeDelimitedTo(the-DataOutputStream-that uses a new FileOutputStream pointing to the file)
编写的多个protobuf“TestMessage”消息。如何读取test.txt的每一行并获取每行的protobuf?如何从java中的一个文件读取多个protobufs?
随着包含字符串文件一个BufferedReader,我会做:
String strLine; // What is the alternative to String?
while ((strLine = br.readLine()) != null) {
System.out.println (strLine);
TestMessage test = new TestMessage.builder();
test.parseDelimitedFrom(strLine);
}
什么我设置的类型,而不是“字符串”如果我是这样做的方法?这可能吗?
或者我可以不这样做,每个mressage必须写入一个单独的文件?
注意:假定TestMessage是唯一的消息。
您需要使用Java Protocol Buffers API。这不是一个文本文件,你不应该试图逐行读取它。 – 2014-11-14 21:39:08
因此,如果我有10条消息要保存以便在文件中稍后阅读时使用,我应该使用单独的文件吗? – Rolando 2014-11-14 21:43:13
@Rlando不一定。您可以为我的答案中描述的文件中存储的每个对象创建自己的标题。如果你没有时间或倾向来创建自己的标题,那么是的。您必须为每个对象使用单独的文件。 – 2014-11-14 21:46:10