脚本宝典收集整理的这篇文章主要介绍了

protobuf基于java入门

脚本宝典小编觉得挺不错的,现在分享给大家,也给大家做个参考,希望能帮助你少写一行代码,多一份安全和惬意。

protobuf基于java入门


1. 编写protobuf文件——person.proto

package protobuf; option java_package="com.sean.person"; option java_outer_classname = "PersonEntity"; message Person{     required int32 id = 1;     required string name = 2;     optional string email=3;     repeated string friends = 4; }

2.将protobuf文件转换为java代码

  1. 下载protoc.exe该工具

  2. 将person.proto加入到protoc.exe所在目录

  3. 命令行进入protoc.exe所在目录

  4. 执行protoc ./person.proto --java_out=./

3.序列化

4.反序列化

public class Test {     public static void main(String[] args) throws IOException {         //实例化builder         PersonEntity.Person.Builder personBuilder = PersonEntity.Person.newBuilder();         //添加数据         personBuilder.setId(1).setName("Sean").setEmail("123@qq.com").addFriends("小明").addFriends("小黄");         //建立实体数据         PersonEntity.Person msg = personBuilder.build();         //将数据写入流中         ByteArrayOutputStream output = new ByteArrayOutputStream();         msg.writeTo(output);          byte[] bytes = output.toByteArray();         System.out.println("person size: "+bytes.length);          //读取流         ByteArrayInputStream bis = new ByteArrayInputStream(bytes);         PersonEntity.Person person = PersonEntity.Person.parseFrom(bis);         System.out.println("person ID: " + person.getId());         System.out.println("person name: " + person.getName());         System.out.println("person email: " + person.getEmail());         System.out.println("person friends: "+person.getFriendsList());     } }

总结

以上是脚本宝典为你收集整理的

protobuf基于java入门

全部内容,希望文章能够帮你解决

protobuf基于java入门

所遇到的程序开发问题,欢迎加入QQ群277859234一起讨论学习。如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典网站推荐给程序员好友。 本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。

80%的人都看过