Java中使用Protobuf
Posted areful
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中使用Protobuf相关的知识,希望对你有一定的参考价值。
gradle依赖库:
implementation \'com.google.protobuf:protobuf-java:3.4.0\' implementation \'com.google.protobuf:protobuf-java-util:3.4.0\'
0.编写.proto文件,编译生成对应Java源文件:
syntax = "proto2"; option java_generic_services = true; option java_package = "gj.protobuf.sample"; option java_outer_classname = "ProtoSample"; message Student { required int32 id = 1; optional string name = 2; }
protoc --java_out=..\\..\\java ProtobufSample.proto
1.编写Java文件:
package gj.protobuf.sample; import com.google.protobuf.InvalidProtocolBufferException; /** * Author: areful */ public class ProtoSampleTest { public static void main(String[] args) { ProtoSample.Student student = ProtoSample.Student.newBuilder() .setId(1) .setName("areful") .build(); System.out.println(student); byte[] data = student.toByteArray(); try { ProtoSample.Student student1 = ProtoSample.Student.parseFrom(data); System.out.println(student1); } catch (InvalidProtocolBufferException e) { e.printStackTrace(); } } }
2.编译运行:
以上是关于Java中使用Protobuf的主要内容,如果未能解决你的问题,请参考以下文章
如何为 gRPC 生成的 Java 代码实现 com.google.protobuf.BlockingRpcChannel?