我是协议缓冲区的新手,所以我正在尝试一个示例代码。我的proto文件代码如下:
syntax="proto2";
package test;
option java_package="com.example.test";
message Test1 {
required int32 a = 1;
}
我正确使用protec编译它。之后我想在Java代码中使用它。代码是
import com.example.test.Test1OuterClass;
import com.example.test.Test1OuterClass.Test1;
import java.io.*;
import java.util.*;
public class Testing {
public static void main(String[] args) throws Exception{
Scanner sc = new Scanner(System.in);
System.out.println("Enter a number:");
int a = sc.nextInt();
Test1.Builder t = Test1.newBuilder();
t.setA(a).build();
}
}
现在我想在此实现编码,但我无法做到。我在网上搜索并阅读了Google文档,但无法理解如何操作。有人可以告诉我如何在这里执行基本编码吗?
与protobufs中的编码相关的有用链接也很受欢迎。
答案 0 :(得分:2)
Test1 obj = t.setA(a).build();
然后
byte[] arr = obj.toByteArray();
或
obj.writeTo(outputStream);