1、创建Stndent.proto并加入
syntax = "proto2"; package tutorial; option java_package = "com.example.tutorial"; option java_outer_classname = "AddressBookProtos"; message Person { required string name = 1; required int32 id = 2; optional string email = 3; enum PhoneType { MOBILE = 0; HOME = 1; WORK = 2; } message PhoneNumber { required string number = 1; optional PhoneType type = 2 [default = HOME]; } repeated PhoneNumber phones = 4; } message AddressBook { repeated Person people = 1; }
2.安装protoc,并添加环境变量,后,执行
protoc -I=Student.proto目录 --java_out=输出的protobuf辅助类存放位置 Student.proto要生成的proto文件
3、将生成的文件复制到项目中,项目添加2个protobuf的jar包,protobuf-java-3.9.0.jar和protobuf-java-util-3.9.0.jar
4、编写测试代码
Person person = Person.newBuilder().setEmail("email").setName("name").setId(12) .addPhones(0, PhoneNumber.newBuilder().setNumber("phone").build()).build(); byte[] data = person.toByteArray(); Person p1 = Person.parseFrom(data); System.out.println(p1.getName()); System.out.println(p1.getEmail()); System.out.println(p1.getId()); System.out.println(p1.getPhones(0).getNumber());
5、运行程序
至此,Protocol buffer的测试代码完成,如果你想深入了解,需要详细了解第一步如何定义一个message