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.编译运行: