protocolbuffer 在java中的使用 (windows平台)
来源:互联网 发布:centos 7 rpm安装mysql 编辑:程序博客网 时间:2024/06/15 15:19
1、下载 protoc-2.6.1-win32.zip
https://github.com/google/protobuf/releases?after=v3.0.0-alpha-1
压缩包内有一个protoc.exe,用来把proto的消息文件生成java实体类
2、建立一个Maven工程,添加protobuf-java的依赖。依赖的版本要和上面的protoc的版本保持一致
依赖包地址如下:
http://mvnrepository.com/artifact/com.google.protobuf/protobuf-java/2.6.1
<dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java</artifactId> <version>2.6.1</version></dependency>
如果不是Maven功能,就单独下载这个jar包,然后把jar文件加入到已有的工程中去使用。
3、建立一个测试的msg.proto文件,内容如下:
option java_package = "com.protobuftest.protobuf";option java_outer_classname = "PersonProbuf"; 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 phone = 4;}message AddressBook { repeated Person person = 1;}
4、生成 java文件:打开命令窗口(cmd),进入proto.exe目录下,执行如下命令:
protoc --java_out=../src ./msg.proto注意路径根据实际情况修改
生成在src下会生成对应的java类:
5、建立测试:
// 创建builder对象PersonProbuf.Person.Builder builder = PersonProbuf.Person.newBuilder();builder.setEmail("ggggggg@email.com");builder.setId(1);builder.setName("TestName");builder.addPhone(PersonProbuf.Person.PhoneNumber.newBuilder().setNumber("13664262866").setType(PersonProbuf.Person.PhoneType.MOBILE));builder.addPhone(PersonProbuf.Person.PhoneNumber.newBuilder().setNumber("02869387891").setType(PersonProbuf.Person.PhoneType.HOME));// 通过builder转化为Person对象Person person = builder.build();// 将person对象转化为字节流byte[] buf = person.toByteArray();try {// 通过字节流转化 为Person对象Person person2 = PersonProbuf.Person.parseFrom(buf);System.out.println(person2.getName() + ", " + person2.getEmail());List<PhoneNumber> lstPhones = person2.getPhoneList();for (PhoneNumber phoneNumber : lstPhones) {System.out.println(phoneNumber.getNumber());}} catch (InvalidProtocolBufferException e) {e.printStackTrace();}System.out.println(buf);
执行结果:
1 0
- protocolbuffer 在java中的使用 (windows平台)
- ProtocolBuffer 结合 LZO在 Hadoop中的使用(一)
- ProtocolBuffer 结合 LZO在 Hadoop中的使用(二)
- ProtocolBuffer 结合 LZO在 Hadoop中的使用(三)
- Windows环境ProtocolBuffer安装及入门使用
- Java protocolbuffer Windows创建步骤.Test用例
- protocolBuffer使用
- 在Windows .NET平台下使用Memcached (Enyim使用)
- ProtocolBuffer ObjectiveC配置使用
- ProtocolBuffer的简单使用
- Java ProtocolBuffer 编译
- 基于Java的ProtocolBuffer
- 在Windows平台下使用安装GCC
- 在Windows .NET平台下使用Memcached
- 在Windows .NET平台下使用Memcached
- 在Windows平台下使用安装GCC
- android-apktool工具在Windows平台使用
- 在Windows平台下使用MONO
- ffmpeg直播h.264源卡顿
- AFNetworking和Reachability 的内存泄露
- android 设置日期的方法
- iOS OC中获取100以内的所有合数,获取某个合数的所有因数.
- dg中激活备库做测试
- protocolbuffer 在java中的使用 (windows平台)
- git常用命令
- 排序之冒泡排序
- NYOJ201作业题
- poj3666(dp前缀优化)
- 欢迎使用CSDN-markdown编辑器
- JAVA解析XML文件
- 从零开始写一个框架的详细步骤
- 【Tsung学习】Tsung.xml配置文件