1. 下载编译文件:protoc-2.6.0-win32.zip
https://sourceforge.net/projects/protobuf/?source=typ_redirect
2. 导入开发包
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>2.6.1</version>
</dependency>
3. 编写Message文件
addressbook.proto
// See README.txt for information and build instructions. package tutorial; option java_package = "org.hdp.practice.serial"; option java_outer_classname = "AddressBookProtos"; message Person { required string name = 1; required int32 id = 2; // Unique ID number for this person. 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; } // Our address book file is just one of these. message AddressBook { repeated Person person = 1; }
4. 编译Message文件
protoc --java_out=. addressbook.proto
生成:AddressBookProtos.java文件,将此文件复制到包路径org.hdp.practice.serial下
5.编写序列化和反序列化代码测试代码
public class SerializationByProtobuf { public static void main(String[] args) throws Exception{ writeProtobuf(); //readProtobuf(); } static void readProtobuf() throws Exception{ Person person = Person.parseDelimitedFrom(new FileInputStream("D:/tmp/address.data")); System.out.println(person.getEmail()); } static void writeProtobuf() throws Exception{ Person person = Person.newBuilder() .setId(1) .setName("tom") .setEmail("dsfs@qq.com") .addPhone(Person.PhoneNumber.newBuilder() .setNumber("12321324234") .setType(Person.PhoneType.HOME).build()) .build(); person.writeDelimitedTo(new FileOutputStream("D:/tmp/address.data")); } }
相关推荐
### Protobuf简介及其在C++中的使用 #### 1. 简介和安装 ##### 1.1 简介 **1.1.1 什么是 Protobuf** Protobuf,全称为Protocol Buffers,是Google开发的一种高效、灵活且自动化程度高的数据交换格式。它不仅独立...
**一、protobuf简介** Protocol Buffers(简称protobuf)是Google开发的一种数据序列化协议,用于高效地存储和传输结构化数据。它通过定义消息格式,将数据结构转换为二进制流,相比XML或JSON等文本格式,protobuf...
1. **Protobuf简介**: - Protobuf是一种轻量级的数据序列化协议,它可以将复杂的数据结构转换为二进制流,以便在网络间高效地传输。相比JSON或XML,Protobuf的数据量更小,解析速度更快。 - Protobuf有语言无关的...
#### 一、Protobuf简介与重要性 Google的Protocol Buffers(简称Protobuf)是一种高效、灵活的数据序列化框架,它可以被用于多种编程语言和平台之间进行数据交换。Protobuf的核心优势在于其轻量级、高性能的特点,...
protobuf 简介 protobuf 是一种语言无关、平台无关、可扩展的数据交换格式。它可以将结构化数据序列化为一个字节流,以便在不同的语言和平台之间进行数据交换。protobuf 广泛应用于 Google 的各种产品和服务中,如 ...
**protobuf简介** Protocol Buffers(简称Protobuf)是Google开发的一种数据序列化协议,它能够将结构化的数据序列化,可用于数据存储、通信协议等方面。相比XML、JSON等数据格式,Protobuf更小、更快、更简单。...
**protobuf简介** Protocol Buffers(简称Protobuf)是由Google开发的一种数据序列化协议,它能够将结构化的数据序列化,可用于数据存储、通信协议等方面。Protobuf提供的是一种比XML更小、更快、更简单的方式来...
**protobuf简介** Protocol Buffers(简称Protobuf)是由Google开发的一种数据序列化协议,它能够将结构化的数据序列化,可用于数据存储、通信协议等方面。Protobuf提供的是一种高效、跨平台且语言无关的数据编码...
**protobuf简介** Google Protobuf(Protocol Buffers)是一种高效、灵活的数据序列化协议,它能够将结构化的数据序列化,可用于数据存储、通信协议等方面。它比XML、JSON等格式更小、更快、更简单。protobuf提供了...
**protobuf简介** Protocol Buffers(简称protobuf)是Google公司推出的一种高效、灵活的数据序列化机制,它允许开发者定义数据结构的格式,然后将这些结构化的数据转换为二进制流进行存储或网络传输。与XML、JSON...
**protobuf简介** Google Protobuf(Protocol Buffers)是一种高效、灵活的数据序列化机制,由Google开发,用于结构化数据的序列化。它类似于XML、JSON等数据格式,但更小、更快、更简单。Protobuf提供了语言中立、...
1. **protobuf简介**:protobuf是Google开发的一种轻量级的数据交换语言,它描述了数据结构,并能将这些结构转换为二进制格式,以便在网络之间高效传输或在磁盘上持久存储。protobuf的主要优点包括高效的编码方式,...
**protobuf简介** protobuf是一种高效的、跨平台的数据序列化协议,可以将结构化的数据转换为二进制流,便于网络传输和存储。相比XML或JSON等文本格式,protobuf在数据体积和解析速度上具有显著优势。它支持多种编程...
**protobuf简介** protobuf是一种跨语言的数据交换格式,可以将复杂的数据结构转换为高效、紧凑的二进制表示。它的设计目标是提供一种简单、快速、可扩展的方式来序列化结构化数据,类似于XML,但更小、更快、更简单...
**protobuf简介** Protocol Buffers(简称protobuf)是Google开发的一种数据序列化协议,它提供了一种灵活、高效、自动化的结构化数据序列化方法,类似于XML、JSON等格式,但更小、更快、更简单。protobuf可以用于...
**protobuf简介** Protocol Buffers(简称Protobuf)是由Google开发的一种数据序列化协议,它能够将结构化的数据序列化,可用于数据存储、通信协议等方面。与XML、JSON等格式相比,Protobuf在数据体积和解析速度上...
**Google Protobuf简介** Google Protocol Buffers(简称Protobuf)是一种高效、跨平台的数据序列化协议,用于结构化数据的序列化。它提供了一种语言无关的、平台无关的、可扩展的方式,来序列化结构化的数据。...
**protobuf简介** Protocol Buffers(简称Protobuf)是由Google开发的一种数据序列化协议,它能够将结构化的数据序列化,可用于数据存储、通信协议等方面。Protobuf提供的是一种比XML更小、更快、更简单的方式来...
**protobuf简介** Protocol Buffers(简称Protobuf)是Google开发的一种数据序列化协议,它能够将结构化的数据序列化,可用于数据存储、通信协议等方面。相比XML、JSON等数据格式,Protobuf更小、更快、更简单。它...