先把proto文件转成java类,然后可以直接在类里添加main方法
1、序列化:对编译成java文件
Student.Builder buidler = Student.newBuilder();
buidler.setName("Frank");
Student student = buidler.build();
System.out.println(student.toString());
2、获得byte[]:
student.toByteArray();
我们可以将它送到文件流中进行传输,这也是它的终极目的。也就是我们将protoc对象序列化成了字节流数据。
大家注意这个toByteArray()产生的byte[]数组,它代表要全部传输的二进制数据,大家可以打印它的大小 array.length
3、反序列化:
Student.parseFrom(array);
byte[] array = student.toByteArray();
try {
Student student1 = Student.parseFrom(array);
System.out.println(student1.toString());
} catch (InvalidProtocolBufferException e) {
e.printStackTrace();
}
array是之前序列化后产生的byte数据,现在通过Student的静态方法parseFrom()可以数据反序列成Student对象