谷歌pb协议
2014-08-15 12:47
148 查看
1、proto文件
package com.test.pro.MavenProject;//命名空间
option java_package = "com.test.pro.MavenProject";//生成文件的包名
option java_outer_classname = "AddressBookProtos";//类名
message Person { //要描述的结构化数据
required string name = 1;//required表示这个字段不能为空
required int32 id = 2;//等号后面的内容为数字别名
optional string email = 3;//optional表示可以为空
}
message AddressBook {
repeated Person person = 1;//是个集合
}
2、jar文件
3、编译命令
F:\>protoc --java_out=F:\ my.proto
其中protoc.exe在F盘。proto文件也在F盘。编译成功后,把生成的.java文件拷贝到工程目录中
4、java代码
package com.test.pro.MavenProject;
import com.test.pro.MavenProject.AddressBookProtos.Person;
/**
* Hello world!
*
*/
public class App
{
public static void main( String[] args )
{
Person.Builder chinese=Person.newBuilder();
chinese.setName("jianghuiwen");
chinese.setId(1);
chinese.setEmail("15255123122@163.com");
Person myperson=chinese.build();
}
}
4、序列化对象
package com.test.pro.MavenProject;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import com.test.pro.MavenProject.AddressBookProtos.Person;
/**
* Hello world!
*
*/
public class App
{
public static void main( String[] args ) throws Exception
{
Person.Builder chinese=Person.newBuilder();
chinese.setName("jianghuiwen");
chinese.setId(1);
chinese.setEmail("15255123122@163.com");
Person myperson=chinese.build();
//写入序列化
FileOutputStream fos = new FileOutputStream("person.out");
myperson.writeTo(fos);
fos.close();
//读出对象
FileInputStream fin=new FileInputStream("person.out");
Person newP=Person.parseFrom(fin);
System.out.println(newP.getName());
}
}
上述代码就是将我们生成的pb对象写入到流中,同时从流中获取对象。
package com.test.pro.MavenProject;//命名空间
option java_package = "com.test.pro.MavenProject";//生成文件的包名
option java_outer_classname = "AddressBookProtos";//类名
message Person { //要描述的结构化数据
required string name = 1;//required表示这个字段不能为空
required int32 id = 2;//等号后面的内容为数字别名
optional string email = 3;//optional表示可以为空
}
message AddressBook {
repeated Person person = 1;//是个集合
}
2、jar文件
3、编译命令
F:\>protoc --java_out=F:\ my.proto
其中protoc.exe在F盘。proto文件也在F盘。编译成功后,把生成的.java文件拷贝到工程目录中
4、java代码
package com.test.pro.MavenProject;
import com.test.pro.MavenProject.AddressBookProtos.Person;
/**
* Hello world!
*
*/
public class App
{
public static void main( String[] args )
{
Person.Builder chinese=Person.newBuilder();
chinese.setName("jianghuiwen");
chinese.setId(1);
chinese.setEmail("15255123122@163.com");
Person myperson=chinese.build();
}
}
4、序列化对象
package com.test.pro.MavenProject;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import com.test.pro.MavenProject.AddressBookProtos.Person;
/**
* Hello world!
*
*/
public class App
{
public static void main( String[] args ) throws Exception
{
Person.Builder chinese=Person.newBuilder();
chinese.setName("jianghuiwen");
chinese.setId(1);
chinese.setEmail("15255123122@163.com");
Person myperson=chinese.build();
//写入序列化
FileOutputStream fos = new FileOutputStream("person.out");
myperson.writeTo(fos);
fos.close();
//读出对象
FileInputStream fin=new FileInputStream("person.out");
Person newP=Person.parseFrom(fin);
System.out.println(newP.getName());
}
}
上述代码就是将我们生成的pb对象写入到流中,同时从流中获取对象。
相关文章推荐
- 谷歌pb协议的repeated用法和说明
- PB协议说明与使用
- 谷歌雅虎向司法部妥协 修改搜索广告协议
- 云计算战争:谷歌思科签署合作协议PK亚马逊
- Facebook拒绝苹果谷歌等邀请 不签互不挖角协议
- PB9.0 通过http协议以POST方式将XML发送到协议服务器
- PB协议各种序列化
- 自动驾驶第一案结果敲定,谷歌无人驾驶和Uber达成2.5亿美元和解协议
- Firefly distributed模块的原理与twisted中PB远程调用协议
- 微软等企业试图阻止谷歌与欧盟达成和解协议
- 谷歌确认已与苹果延长默认搜索合作协议
- [转]非OpenVZ下利用谷歌TCP-BBR协议单边加速你的VPS
- 改良版的UDP协议QUIC将成为未来谷歌网站新标准
- 前沿技术:改良版的UDP协议QUIC将成为未来谷歌网站新标准
- 谷歌quic协议自带网络仿真器代码分析(一)
- 前沿技术:改良版的UDP协议QUIC将成为未来谷歌网站新标准
- PB协议初探
- 自定义通信协议与PB通信协议的优缺点
- 苹果和谷歌提供独家游戏开发者协议
- Python 对谷歌协议文件 .proto 文件的生成与处理 (python 命令、查找、替换)