我有一個文件「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